[mssql] mdf 와 ldf로 DB 복원
1 . 서버의 서비스를 실행 중지 한다.
(서비스가 살아있는 상태에서는 파일을 카피할수 없습니다.)
2. 옮기고자 하는 db의 MDF 와 LDF 파일을 카피 해서
사용하고자 하는 컴퓨터에 옮긴다. (옮기고 난 후 서버의 서비스는 다시 살려야겠죠??)
(옮기고자 하는 db가 "dumpnara" 라고 가정 , 파일명은 rental8.mdf ,rental8.ldf )
MS-SQL 2000 의 경우 DB 파일들의 위치는 다음과 같습니다.
C:\Program Files\Microsoft SQL Server\MSSQL\Data
이와 같은 디렉토리에 옮겼다고 가정
3. 사용하고자 하는 컴퓨터의 쿼리분석기를 실행시키고
아래와 같은 문장을 실행 시킨다.
(DB명과 MDF 와 LDF 파일명을 정확히 적어준다.)
EXEC sp_attach_db @dbname = N'데이타베이스명',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\rental8.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\rental8.ldf'
4. 사용하고자 하는 DB로 이동하여 사용한다
use korea
** 서버의 서비스를 중지하지 않고 하는 방법은
데이터베이스를 풀백업하고 그 파일을 사용하고자 하는 컴퓨터로 이동하여 리스토어 하는 방법입니다.
엔터프라이즈 관리자를 이용하여 사용하는 방법
해당 데이터베이스의 서비스를 중단할 수 있는 경우
- 1단계 원본 데이터베이스 서버에서 데이터베이스 분리(sp_detachdb)
(엔터프라이즈 관리자에서 해당 데이터베이스를 선택하고 오른쪽 마우스 클릭
> 작업 > 데이터베이스 분리)
- 2단계 데이터베이스 파일(MDF,LDF) 로컬 데이터베이스 서버로 복사
(필요하다면
- 3단계 원본 데이터베이스서버에 데이터베이스 다시 연결(sp_attachdb)
- 4단계 로컬 데이터베이스서버에서 데이터베이스 연결(sp_attachdb)
(엔터프라이즈 관리자에서 데이터베이스 노드를 선택하고 오른쪽 마우스 클릭
> 작업 > 데이터베이스 연결)
해당 데이터베이스 서비스를 중단할 수 없는 경우
- 원본 데이터베이스를 백업
- 대상 데이터베이스에 복원
출처 - http://suny3707.tistory.com/257