이전 글에서 master DB를 옮기는 것을 했습니다.
(참고 : [MSSQL2008] master DB 옮기기)
마스터DB를 제외한 시스템DB들은 쿼리를 이용하여 간단하게 옮길수 있습니다.
로컬 파일 위치를 확인합니다.
마스터DB 때와 마찬가지로 메니지먼트 스튜디오로도 확인이 가능합니다.
아래 쿼리로도 가능하죠.
SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'model'); SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'msdb'); SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID(N'tempdb');
1에서 확인한 경로로가서 파일을 원하는 위치로 복사하시면 되지만 만약 사용중이라 옮길수 없다는 메시지가 출력된다면 DB를 중지 시킨후 복사하셔야 합니다.
복사후 DB를 시작시키고 다음 쿼리를 작성하여 실행 합니다.
--모델 ALTER DATABASE model MODIFY FILE( NAME = modeldev , FILENAME = '[옮길경로]\model.mdf' ); ALTER DATABASE model MODIFY FILE( NAME = modellog , FILENAME = '[옮길경로]\modellog.ldf' ); --msdb ALTER DATABASE msdb MODIFY FILE( NAME = MSDBData , FILENAME = '[옮길경로]\MSDBData.mdf' ); ALTER DATABASE msdb MODIFY FILE( NAME = MSDBLog , FILENAME = '[옮길경로]\MSDBlog.ldf' ); --tempdb ALTER DATABASE tempdb MODIFY FILE( NAME = tempdev , FILENAME = '[옮길경로]\tempdb.mdf' ); ALTER DATABASE tempdb MODIFY FILE( NAME = templog , FILENAME = '[옮길경로]\templog.ldf' );
DB가 실행되지 않으면 마스터DB 때와 마찬가지로 폴더 권한을 확인해보셔야 합니다.