2012. 1. 8. 15:23

집에서 운영하는 서버에 DB를 저장하는 하드가 맛이 갔는지 툭하면 인식이 되지 않습니다.
(참고 : MSSQL이 시작되지 않을때 )
어쩔수 없이 다른 드라이브로 위치를 병경해야 되서 하는 김에 정리해 둡니다.

이전버전에서는 master 같은 시스템db를 옮길때 단독모드로 했어야 합니다만 2008부터는 단독모드가 아니여도 작업을 할수 있습니다.
단지 디비를 재시작해야 적용되죠 ㅎㅎㅎ
(참고 : MSDN - 시스템 데이터베이스 이동)

다른 시스템 디비를 옮기시고 싶으시면 다음글을 참고해 주세요
(참고 - [MSSQL2008] 시스템 DB 옮기기 )


1.옮길 파일의 이름 찾기
파일위치는 매니지먼트 스튜디오에서 확인 할수 있습니다.


쿼리로도 확인 가능합니다.

SELECT name, physical_name AS CurrentLocation, state_desc 
FROM sys.master_files
WHERE database_id = DB_ID(N'master');


2.파일 옮기기
이제 파일위치를 알고 있느니 파일을 옮겨야 하는데 MSSQL서버가 동작중에는 되지 않습니다.


MSSQL서버를 중지시킨후 원하는 위치로 파일을 옮깁니다.


3.시작 매개변수 수정
이제 시작 매개변수를 수정하여 옮긴 파일로 연결해 주셔야 합니다.
(참고 : [MSSQL2008] 시작 매개 변수(Startup Parameters) 지정하기)

SQL Server(SQLSERVER)에서 오른쪽 클릭을 하신후 고급을 보시면 시작 매개변수가 있습니다.


3개의 파일위치를 모두 옮긴 파일로 바꿔줍니다.


4.재시작
로그온으로 가서 서비스를 재시작합니다.



4-1.파일권한
만약 여기서 MSSQL이 시작되지 않는다면 옮긴 master db의 권한이 없어서 그럴 확률이 높습니다.
해당 파일이 있는 폴더에 'SQLServerMSSQLUser$WIN-C3SO3H9L0J$MSSQLSERVER'라는 계정이 파일을 수정할수 있는 권한이 이어야 합니다.
이 계정은 이름이 약간씩 다를수 있으니 잘보고 추가해 주세요.




5.확인
다시 매니지먼트 솔루션으로 접속하여 파일 위치를 확인 해 봅시다.


원하는 위치로 변경되었군요.

다른 시스템파일들은 다음글에서 다루도록 하겠습니다.