SQL Server では、サーバー インスタンスの操作に不可欠なシステム レベルのデータベース (ystem データベース) のセットが保持されます。 重要な更新のたびに、いくつかのシステム データベースをバックアップする必要があります。 常にバックアップする必要があるシステム データベースには、 msdb、 master、および モデルが含まれます。 サーバー インスタンスでレプリケーションを使用するデータベースがある場合は、 ディストリビューション システム データベースもバックアップする必要があります。 これらのシステム データベースのバックアップを使用すると、ハード ディスクの損失など、システム障害が発生した場合に SQL Server システムを復元および復旧できます。
次の表は、すべてのシステム データベースをまとめたものです。
システム データベース | 説明 | バックアップは必要ですか? | 復旧モデル | コメント |
---|---|---|---|---|
マスター | SQL Server システムのすべてのシステム レベル情報を記録するデータベース。 | イエス | 簡単 | ビジネス ニーズに十分に対応してデータを保護するために、必要な頻度で マスター をバックアップします。 定期的なバックアップ スケジュールをお勧めします。このスケジュールは、大幅な更新後に追加のバックアップで補足できます。 |
モデル |
SQL Server のインスタンスに作成されるすべてのデータベースのテンプレート。 | イエス | ユーザー構成可能1 | ビジネス ニーズに必要な場合にのみ モデル をバックアップする。たとえば、データベース オプションをカスタマイズした直後などです。 ベスト プラクティス: 必要に応じて、 モデルの完全なデータベース バックアップのみを作成することをお勧めします。 モデルは小さく、ほとんど変更されないため、ログのバックアップは不要です。 |
msdb | アラートとジョブのスケジュール設定、およびオペレーターの記録に SQL Server エージェントによって使用されるデータベース。 msdb には、バックアップや復元の履歴テーブルなどの履歴テーブルも含まれています。 | イエス | Simple (既定値) | 更新されるたびに msdb をバックアップします。 |
リソース (RDB) | SQL Server に付属するすべてのシステム オブジェクトのコピーを含む読み取り専用データベース | いいえ | - |
リソース データベースは、コードのみを含むmssqlsystemresource.mdf ファイルに存在します。 そのため、SQL Server は リソース データベースをバックアップできません。 注: mssqlsystemresource.mdf ファイルに対してファイル ベースまたはディスク ベースのバックアップを実行するには、ファイルをデータベース ファイルではなくバイナリ (.exe) ファイルとして扱います。 ただし、バックアップで SQL Server の復元を使用することはできません。 mssqlsystemresource.mdfのバックアップ コピーの復元は手動でのみ行うことができます。また、現在の リソース データベースを古いバージョンまたは安全でない可能性のあるバージョンで上書きしないように注意する必要があります。 |
tempdb | 一時的または中間の結果セットを保持するためのワークスペース。 このデータベースは、SQL Server のインスタンスが起動されるたびに再作成されます。 サーバー インスタンスがシャットダウンされると、 tempdb 内のすべてのデータが完全に削除されます。 | いいえ | 簡単 | tempdb システム データベースをバックアップすることはできません。 |
[ディストリビューションの構成] | サーバーがレプリケーション ディストリビューターとして構成されている場合にのみ存在するデータベース。 このデータベースには、すべての種類のレプリケーションに関するメタデータと履歴データ、およびトランザクション レプリケーションのトランザクションが格納されています。 | イエス | 簡単 | ディストリビューション データベースをバックアップするタイミングについては、「レプリケートされたデータベースのバックアップと復元」を参照してください。 |
1 モデルの現在の復旧モデルについては、データベース (SQL Server) または sys.databases (Transact-SQL) の復旧モデルの表示または変更に関するページを参照してください。
システム データベースの復元に関する制限事項
システム データベースは、サーバー インスタンスが現在実行されている SQL Server のバージョンで作成されたバックアップからのみ復元できます。 たとえば、SQL Server 2012 SP1 で実行されているサーバー インスタンス上のシステム データベースを復元します。
データベースを復元するには、SQL Server のインスタンスが実行されている必要があります。 SQL Server のインスタンスを起動するには、 マスター データベースにアクセスでき、少なくとも部分的に使用できる必要があります。 master が使用できなくなった場合は、次のいずれかの方法でデータベースを使用可能な状態に戻すことができます。
現在のデータベース バックアップから マスターを 復元します。
サーバー インスタンスを起動できる場合は、データベースの完全バックアップから マスター を復元できます。
マスターを完全にリビルドします。
マスターに重大な損傷が発生して SQL Server を起動できなくなる場合は、マスターをリビルドする必要があります。 詳細については、「 システム データベースの再構築」を参照してください。
重要
マスターをリビルドすると、すべてのシステム データベースが再構築されます。
状況によっては、モデル データベースの復旧に問題が発生した場合、システム データベースの再構築や、モデル データベースの mdf ファイルと ldf ファイルの置き換えが必要になる場合があります。 詳細については、「 システム データベースの再構築」を参照してください。
関連タスク
こちらもご覧ください
ディストリビューション データベース
マスター データベース
msdb Database
モデルデータベース
リソース データベース
tempdb データベース