728x90

SQL Server 2005 환경에서 시스템 데이터베이스(MASTER 및 리소스 데이터베이스)를 이동하는 방법을
정리하였습니다.

 
[시나리오]

1. 변경 전 파일 경로
   D:\99.Temp\master.mdf
   D:\99.Temp\mastlog.ldf
   D:\99.Temp\mssqlsystemresource.mdf
   D:\99.Temp\mssqlsystemresource.ldf
 
2. 변경 후 파일 경로
   C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\master.mdf
   C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mastlog.ldf
   C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mssqlsystemresource.mdf
   C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mssqlsystemresource.ldf


 
[작업절차]
 
1. SQL Server Configuration Manager - SQL Server 2005 서비스 - 해당 인스턴스 - 속성 - 고급 -
    시작 매개 변수 변경
    Master 데이터베이스의 데이터와 로그가 저장될 경로로 시작 매개변수를 변경합니다.
    데이터 파일 매개 변수는 -d, 에러 로그는 -e, 로그 파일의 값은 -l 입니다.
 
    -dC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\master.mdf;
    -eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;
    -lC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mastlog.ldf

사용자 삽입 이미지


































2. SQL Server 인스턴스를 중지합니다.
 
3. Master.mdf, master.ldf를 변경할 경로로 이동합니다.
 
4. SQL Server 인스턴스를 마스터 전용 복구 모드로 시작합니다.
   매개 변수는 대/소문자를 구분하며, 오류가 발생할 경우 이벤트 로그를 확인해 보십시오.
   기본(MSSQLSERVER) 인스턴스의 경우 다음 명령을 실행합니다.
 
   NET START MSSQLSERVER /f /T3608

 
5. Master 데이터베이스 파일을 새 위치에 일치하도록 파일 경로를 변경합니다.
 
   ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME=data, FILENAME= 'C:\Program
   Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mssqlsystemresource.mdf');
   GO

   ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME=log, FILENAME= 'C:\Program
   Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mssqlsystemresource.ldf');
   GO


사용자 삽입 이미지
























6. mssqlsystemresource.mdf 및 mssqlsystemresource.ldf 파일을 새 위치로 이동합니다.
 
7. 리소스 데이터베이스를 읽기 전용으로 설정합니다.
  
   ALTER DATABASE mssqlsystemresource SET READ_ONLY;

 
8. Sqlcmd 유틸리티를 종료합니다.
 
9. SQL Server  인스턴스를 중지한 뒤, 다시 시작합니다.
 
10. 정상적으로 변경되었는지 아래 쿼리를 통해 확인할 수 있습니다.
 
   SELECT name, physical_name AS CurrentLocation, state_desc
   FROM sys.master_files
   WHERE database_id = DB_ID('master');


 
name      CurrentLocation                                                             state_desc
--------------------------------------------------------------------------------------------------------------------
master    C:\Program Files\Microsoft SQL Server\...\Data\master.mdf      ONLINE
mastlog   C:\Program Files\Microsoft SQL Server\...\Data\mastlog.ldf       ONLINE
 
(2개 행 적용됨)
 


[참고자료]
시스템 데이터베이스 이동
http://technet.microsoft.com/ko-kr/library/ms345408.aspx


작성자 :  Lai Go /  작성일자 : 2008.08.01
728x90

SQL Server 2005 PRIMARY 파일 그룹 용량 부족에 따른 오류와 관련하여 아래와 같이 정리합니다.


[환경]
SQL Server 2005


[현상]
이벤트 형식:        오류
이벤트 원본:        MSSQLSERVER
이벤트 ID:        1105
사용자:                N/A
'PRIMARY' 파일 그룹이 꽉 찼으므로 데이터베이스 'LAIGODB'의 개체 'dbo.filetable'.'PK_filetable'에 공간을
할당할 수 없습니다. 필요 없는 파일을 삭제하거나, 파일 그룹의 개체를 삭제하거나, 파일 그룹에 파일을
추가하거나, 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 디스크 공간을 만드십시오.


[원인]
PRIMARY 파일 그룹에 있는 데이터베이스 파일 용량이 최대 사이즈에 도달하였습니다.


[조치방법]
1. 데이터베이스 내 필요하지 않는 데이터를 삭제합니다.
2. 디스크 여유 공간을 확인하여 파일 그룹의 maxsize를 증가하거나 PRIMARY 파일 그룹에 파일을 추가합니다.
3. 새로운 파일 그룹을 생성합니다. (관련 자료 참고할 것)

  가. 파일그룹의 maxsize 변경 방법

ALTER DATABASE [database_name] MODIFY FILE (NAME = N'logical_file_name, MAXSIZE= { max_size [ KB | MB | GB | TB ] | UNLIMITED } )

  나. PRIMARY 파일 그룹에 파일 추가

ALTER DATABASE [database_name] ADD FILE ( NAME = N'logical_file_name', FILENAME = N'os_file_name' , SIZE = size [ KB | MB | GB | TB ] ,
MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED }, FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ]) TO FILEGROUP [PRIMARY]


[분석결과]

Sp_helpdb 'LAIGODB'

name                fileid    filename                                        filegroup     size               maxsize            
-------------------------------------------------------------------------------------------------------------------------------------------------
LAIGODB_1_Data  1      D:\DATA\LAIGODB_1_Data.MDF     PRIMARY   5120000 KB         5120000 KB         LAIGODB_1_Log   2      D:\DATA\LAIGODB_1_Log.LDF       NULL            10240 KB         3072000 KB         LAIGODB_2_Data  3      D:\DATA\LAIGODB_2_Data.NDF      PRIMARY   5120000 KB         5120000KB         LAIGODB_2_Log   4      D:\DATA\LAIGODB_2_Log.ldf         NULL             10240 KB         3072000KB


[참고자료]
ALTER DATABASE (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms174269.aspx


작성자 : Lai Go / 작성일자 : 2008.08.04

+ Recent posts