master 및 기타 db 모두 옮긴다고 삽질을 좀 했습니다.
저같은 분을 위해 적어봤습니다. MSSQL 2000에서 한것이라
2005에서는 약간 달라질수 있으나 기본 개념은 변하지 않았으니
특별히 문제가 되는 부분은 없을겁니다.

전제사항
백업 된 데이터에서 이전 또는 복구 하기 위해서는
쿼리 분석기에서 select @@version 또는 exec master.dbo.xp_msver 쿼리 결과등을 통해 보여지는
MSSQL 백업시의 MSSQL과 이전대상의 MSSQL 버젼이 동일해야 한다.
서비스팩이 다르면 서비스팩도 동일해야 한다.
이 부분때문에 제가 삽질을 좀했습니다 ㅡㅡ;;

1. 원본 백업
    쿼리 브라우저에서 아래의 쿼리 형태를 실행
    BACKUP DATABASE master TO DISK = 'D:/sqlbackup/master.backup' WITH INIT;
    BACKUP DATABASE model TO DISK = 'D:/sqlbackup/model.backup' WITH INIT;
    BACKUP DATABASE msdb TO DISK = 'D:/sqlbackup/msdb.backup' WITH INIT;
    BACKUP DATABASE Northwind TO DISK = 'D:/sqlbackup/Northwind.backup' WITH INIT;
    BACKUP DATABASE pubs TO DISK = 'D:/sqlbackup/pubs.backup' WITH INIT;
    BACKUP DATABASE web1 TO DISK = 'D:/sqlbackup/web1.backup' WITH INIT;
    BACKUP DATABASE Web2 TO DISK = 'D:/sqlbackup/Web2.backup' WITH INIT;
    ....

2. cmd 실행후
    2001 인 경우 : C:\Program Files\Microsoft SQL Server\MSSQL\Binn 디렉토리로 이동
    2005 인 경우 : C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn 디렉토리로 이동

3. MS SQL 관련서비스 모두 종료
    cmd 명령어 => net stop mssqlserver
    SQLEXPRESS 의 경우 net stop "SQL Server (SQLEXPRESS)"

4. sqlservr -m 또는 net start mssqlserver /m 명령 실행
    SQLEXPRESS 의 경우 net start "SQL Server (SQLEXPRESS)" /m 으로 실행

5. SQL 접속
    2000 인 경우 : 쿼리 분석기
    2005 인 경우 : cmd => sqlcmd -E 명령 실행

6. master 디비 복원
    RESTORE DATABASE master FROM DISK = 'D:/sqlbackup/master.backup';
    복원이 정상적으로 되면 sql 이 종료 됩니다.

7. SQL Server 다시 실행

8. 기타 데이터베이스 복구
    - 백업화일로 복구하는 경우
    RESTORE DATABASE model FROM DISK = 'D:/sqlbackup/model.backup';
    RESTORE DATABASE msdb FROM DISK = 'D:/sqlbackup/msdb.backup';
    RESTORE DATABASE Northwind FROM DISK = 'D:/sqlbackup/Northwind.backup';
    RESTORE DATABASE pubs FROM DISK = 'D:/sqlbackup/pubs.backup';
    RESTORE DATABASE web1 FROM DISK = 'D:/sqlbackup/web1.backup';
    RESTORE DATABASE Web2 FROM DISK = 'D:/sqlbackup/Web2.backup';
    ...

    - mdf ldf 파일로 복구하는 경우
    해당 db의 mdf ldf 을
    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data(2000) 또는
    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data(2005) 로
    복사해 붙여넣기 한다음

    exec sp_attach_db 'DB명'
    ,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB명.mdf',
    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB명_log.ldf'
    를 실행
2009/04/12 17:33 2009/04/12 17:33

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다