[SQL2005 Guide] 시스템 데이터베이스 - Resource
리소스 데이터베이스는 SQL Server 2005에서 새롭게 추가된 시스템 데이터베이스이며 다른 시스템 데이터베이스와 다른 고유의 특성을 가지고 있습니다. 일반 사용자들에게는 의미없는 데이터베이스일 수 있지만 DBA는 알고 있을 필요가 있다고 생각되어 몇 자 적어 봅니다.
* 리소스 데이터베이스의 물리 파일 이름은 mssqlsystemresource.mdf 인데, 이 파일의 이름을 변경하거나 잘못 이동하면 SQL Server가 시작되지 않으므로 유의합니다. 리소스 데이터베이스에 대하여 사용자가 수행해도 무방한 작업은, master 데이터베이스를 이동한 경우에 ALTER DATABASE MODIFY FILE 문을 사용하여 FILENAME의 경로를 master 데이터 파일의 경로와 동일하게 변경함으로써 mssqlsystemresource.mdf 파일과 mssqlsystemresource.ldf 파일의 위치를 변경하는 것입니다.
* 리소스 데이터베이스를 재구성(rebuild)하면 이전에 적용했던 서비스팩이나 QFE가 모두 유실되므로, 다시 적용해 주어야 합니다.
* 리소스 데이터베이스는 SQL Server 서비스가 단일 사용자 모드인 상태에서만 액세스가 가능하며, 그렇지 않은 경우에는 사용자들에게 보이지도 않고 연결할 수도 없습니다. 단일 사용자 모드에서 USE mssqlsystemresource를 실행하면 리소스 데이터베이스에 액세스됩니다. 그렇지만 이 데이터베이스는 문제 해결과 고객 기술 지원을 위하여 마이크로소프트 고객 기술 지원 서비스 전문가만 액세스하는 것을 원칙으로 합니다.
* 리소스 데이터베이스는 데이터베이스 백업이 되지 않습니다. 리소스 데이터베이스 파일인 mssqlsystemresource.mdf 파일을 이진(.EXE) 파일로 취급하여 실행 파일을 백업하듯이 파일 백업이나 디스크 백업으로 백업합니다.
* 리소스 데이터베이스 복원도 SQL Server에서는 불가하며, mssqlsystemresource.mdf 파일을 백업받은 복사본을 수동으로 복사함으로써 복원합니다. mssqlsystemresource.mdf 파일 백업을 복원한 다음에는, 이후에 이루어진 모든 변경사항을 다시 적용해 주어야 합니다.
* 리소스 데이터베이스와 관련하여 중요한 값은 버전 번호와 최종 업데이트 일시입니다.
리소스 데이터베이스의 버전 번호 확인하기 |
SELECT SERVERPROPERTY('ResourceVersion'); GO |
리소스 데이터베이스의 최종 업데이트 일시 확인하기 |
SELECT SERVERPROPERTY('ResourceLastUpdateDateTime'); GO |
시스템 개체의 SQL 정의 확인하기 |
SELECT OBJECT_DEFINITION(OBJECT_ID('sys.objects')); GO |