リソース データベースは、SQL Server に含まれるすべてのシステム オブジェクトを含む読み取り専用データベースです。 sys.objects などの SQL Server システム オブジェクトは、リソース データベースに物理的に永続化されますが、論理的にはすべてのデータベースの sys スキーマに表示されます。 リソース データベースには、ユーザー データまたはユーザー メタデータが含まれていません。
リソース データベースを使用すると、新しいバージョンの SQL Server へのアップグレードが簡単かつ迅速に実行できます。 以前のバージョンの SQL Server では、システム オブジェクトの削除と作成をアップグレードする必要があります。 リソース データベース ファイルにはすべてのシステム オブジェクトが含まれているため、単一のリソース データベース ファイルをローカル サーバーにコピーするだけでアップグレードが実行されるようになりました。
リソースの物理プロパティ
リソース データベースの物理ファイル名は、mssqlsystemresource.mdfおよび mssqlsystemresource.ldf です。 これらのファイルは、<drive>:\Program Files\Microsoft SQL Server\MSSQL<version>.< にあります。instance_name>\MSSQL\Binn\ であり、移動しないでください。 SQL Server の各インスタンスには 1 つしか関連付けられていないmssqlsystemresource.mdf ファイルがあり、インスタンスはこのファイルを共有しません。
警告
アップグレードとサービス パックでは、BINN フォルダーにインストールされる新しいリソース データベースが提供される場合があります。 リソース データベースの場所の変更はサポートされていないか、推奨されません。
リソース データベースのバックアップと復元
SQL Server はリソース データベースをバックアップできません。 mssqlsystemresource.mdf ファイルをデータベース ファイルではなくバイナリ (.EXE) ファイルとして扱うことで、独自のファイル ベースまたはディスク ベースのバックアップを実行できますが、SQL Server を使用してバックアップを復元することはできません。 mssqlsystemresource.mdfのバックアップ コピーの復元は手動でのみ行うことができます。現在のリソース データベースを古いバージョンまたは安全でない可能性のあるバージョンで上書きしないように注意する必要があります。
重要
mssqlsystemresource.mdfのバックアップを復元した後、後続の更新プログラムを再適用する必要があります。
リソース データベースへのアクセス
リソース データベースは、Microsoft カスタマー サポート サービス (CSS) スペシャリストによって、または指示に応じてのみ変更する必要があります。 リソース データベースの ID は常に 32767 です。 Resource データベースに関連付けられているその他の重要な値は、バージョン番号と、データベースが最後に更新された時刻です。
リソースデータベースのバージョン番号を確認するには、次を使用します。
SELECT SERVERPROPERTY('ResourceVersion');
GO
リソースデータベースが最後に更新された時刻を確認するには、次を使用します:
SELECT SERVERPROPERTY('ResourceLastUpdateDateTime');
GO
システム オブジェクトの SQL 定義にアクセスするには、OBJECT_DEFINITION関数を使用します。
SELECT OBJECT_DEFINITION(OBJECT_ID('sys.objects'));
GO