본문 바로가기
System Engineering

MSSQL system db data 경로 변경 방법

by 낫싱 2023. 4. 16.
728x90
반응형

 

목표

E 드라이브에 포함된 시스템 데이터베이스를 F 드라이브로 이동

 

현재 시스템 DB 파일 위치 확인

(SELECT name, physical_name AS CurrentLocation, state_desc FROM sys.master_files)

쿼리문 실행

 

 

이동할 파일에 대해 다음의 쿼리문 실행

ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBData , FILENAME = 'F:\DATA\msdbdata.mdf' )

 

ALTER DATABASE msdb MODIFY FILE ( NAME = MSDBLog , FILENAME = 'F:\DATA\msdblog.ldf' )

 

msdb 데이터의 경로를 변경한다.

 

실제 변경할 파일(DB) 위치를 옮겨준다.

*주의 : 파일을 옮길 때에는 MSSQL 서비스를 중지해준 이동해준다.

 

 

E 드라이브 --> F 드라이브 이동 확인

 

 

파일 이동 서비스를 다시 시작해준다.

 

변경된 파일(DB) 현재 위치를 확인하기 위해 아래 명령어 실행

SELECT name, physical_name AS CurrentLocation, state_desc 

FROM sys.master_files 

WHERE database_id = DB_ID(N'msdb');

 

E 드라이브에서 F 드라이브로 변경된 것을 확인할 있다.

 

이벤트뷰어에서 에러메시지 확인 가능

 

 

권한을 수정해야 한다.

 

 

----------이하 동일 방법

동일한 방법으로 나머지 파일들 이동 경로 변경

ALTER DATABASE model MODIFY FILE ( NAME = modeldev , FILENAME = 'F:\DATA\model.mdf' )

 

ALTER DATABASE model MODIFY FILE ( NAME = modellog , FILENAME = 'F:\DATA\modellog.ldf' )

 

ALTER DATABASE tempdb MODIFY FILE ( NAME = tempdev , FILENAME = 'F:\DATA\tempdb.mdf' )

 

ALTER DATABASE tempdb MODIFY FILE ( NAME = templog , FILENAME = 'F:\DATA\templog.ldf' )

 

 

NET START MSSQLSERVER /f /T3608

만약 권한부여가 되지 않아 접근하지 경우 명령어 실행하여 아래의 결과값을 얻을 있다.

 

 

변경 위치 확인 쿼리 실행

SELECT name, physical_name AS CurrentLocation, state_desc 

FROM sys.master_files 

WHERE database_id = DB_ID(N'model');

 

 

 

-----------------------------------마스터

 

sp_helpdb 'master' SQL문으로 현재 위치를 찾는다.

 

현재 위치 : E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

 

시작 매개변수 변경을 위해 구성관리자 실행

 

기존 경로에서 변경 경로로 지정하여 업데이트 진행

( -d : 데이터 파일,  -e : 에러 로그 파일, -l : 로그 파일 )

 

파일 이동을 위한 시스템 중지

 

기존 위치에서 원하는 위치로 파일 이동

 

기존 E 드라이브에 위치한 시스템 DB 파일이 모두 F 드라이브로 옮겨진 확인할 있다.

 

 

 

서버 접속 시도

 

접속 성공

 

SELECT name, physical_name AS CurrentLocation, state_desc  FROM sys.master_files

쿼리문을 사용하여 시스템DB 파일 현재 위치 확인

 

성공적으로 이동되었다.

728x90
반응형

댓글