Database/MSSQL

MSSQL systemdb 파일 이전, 경로 변경하기

BabyTT 2022. 2. 22. 14:10

--Master DB 경로 변경

1. 시작 매개변수를 바꿀 경로로 설정하고, DB shutdown 후에 물리적 이전

 

--modelDB 경로 변경

1. 아래 쿼리를 실행 후 DB 정지 후 물리적 이전

 

use master;

Go
ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = 'D:\mssql\MSSQL.1MSSQL\Data\model.mdf');
Go
ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = 'D:\mssql\MSSQL.1\MSSQL\Data\modellog.ldf');
Go

 

--msdbDB 경로 변경

1. 아래 쿼리를 실행 후 DB 정지 후 물리적 이전


use master;

Go
ALTER DATABASE msdb MODIFY FILE (NAME = msdbdata, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\msdbdata.mdf');
Go
ALTER DATABASE msdb MODIFY FILE (NAME = msdblog, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\msdblog.ldf');
Go

 

--tempDB 경로 변경

1. 아래 쿼리를 실행 후 DB 정지 후 물리적 이전


use master;

Go
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\tempdb.mdf');
Go
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\templog.ldf');
Go

 

--mssqlsystemresource 파일 이전

1. mssqlsystemresource은 sysdatabases에 데이터가 없으므로 아래와 같은 방법으로 이전한다.

2. cmd 창에서 아래 script 실행 후 재 파일 물리적 이전.


C:\>net start mssqlserver /f /T3608
SQL Server (MSSQLSERVER) 서비스를 시작합니다..
SQL Server (MSSQLSERVER) 서비스가 잘 시작되었습니다.


C:\>osql -S "서버명" -U유저명 -P"패스워드"

1> ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME = data, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\mssqlsystemresource.mdf');

2> Go
시스템 카탈로그에서 파일 "data"이(가) 수정되었습니다. 새 경로는 다음에 데이터베이스가 시작될 때 사용됩니다.
1> ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME = log, FILENAME = 'C:\mssql\MSSQL.1\MSSQL\Data\mssqlsystemresource.ldf');
2> Go
시스템 카탈로그에서 파일 "log"이(가) 수정되었습니다. 새 경로는 다음에 데이터베이스가 시작될 때 사용됩니다.
1> alter database mssqlsystemresource set Read_only;
2> exit