master データベースの復元に関する注意点

バックアップを作成した後で master を変更した場合、バックアップの復元時にはそれらの変更が反映されません。失われた変更内容を再現するには、そのためのステートメントを実行する必要があります。たとえば、バックアップ後に SQL Server ログインを作成すると、master を復元するときにこれらのログインは失われます。SQL Server Management Studio を使用するか、ログインを作成した元のスクリプトを使用して、ログインを再作成します。

master データベースは、SQL Server 2008 のインスタンスで作成されたバックアップからのみ復元できます。

注意注意

失われたログインに以前関連付けられていたデータベース ユーザーは、ログインとの対応が失われます。したがって、該当するユーザーはデータベースにアクセスできません。詳細については、「対応するログインの存在しないユーザーに関するトラブルシューティング」を参照してください。

master を復元した後、SQL Server のインスタンスは自動的に停止します。さらに修復を加える必要があり、かつサーバーへの複数の接続を防ぐ場合は、サーバーをシングル ユーザー モードで再起動する必要があります。それ以外の場合は、サーバーを通常どおりに再起動できます。サーバーをシングルユーザー モードで再起動する場合は、すべての SQL Server サービス (サーバー インスタンス自体を除く) を停止し、SQL Server エージェントなどのすべての SQL Server ユーティリティを停止する必要があります。これらのサービスとユーティリティを停止することで、サーバー インスタンスへのアクセスを防止します。

バックアップの作成後に加えられた変更の再構築

master をバックアップした後でユーザー データベースを作成し、その後、そのバックアップを復元した場合、次のいずれかの操作を行うまではユーザー データベースにアクセスできません。

  • データベースをアタッチする。この方法を推奨します。

    データベースをアタッチするには、すべてのデータベース ファイルが使用可能であることが条件となります。アタッチ操作でログ ファイルまたはファイルの再構築を試みるのではなく、データ ファイルに加えてログ ファイルを指定することをお勧めします。

    データベースのアタッチ方法の詳細については、「データベースをアタッチする方法 (SQL Server Management Studio)」または「CREATE DATABASE (Transact-SQL)」を参照してください。

  • データベースを 1 つ以上のバックアップから復元する。

    データ ファイルまたはトランザクション ログ ファイルが存在しなくなった場合、または使用できない場合のみ、データベースを復元します。

データベースをアタッチするか、復元すると、必要なシステム テーブル エントリが再作成され、master データベースを復元する前と同じ状態でデータベースを利用できるようになります。

master をバックアップした後で任意のオブジェクト、ログイン、またはデータベースを削除した場合、これらのオブジェクト、ログイン、およびデータベースを master から削除する必要があります。

重要な注意事項重要

削除したデータベースが、復元された master データベースのバックアップ内で参照されている場合、SQL Server の起動時にこれらのデータベースが見つからないため、エラーが報告されることがあります。このため、バックアップを復元した後にデータベースを削除する必要があります。

master データベースを復元し、すべての変更を再適用した場合、master データベースを即座にバックアップします。

SQL Server をシングル ユーザー モードで起動するには

SQL Server のインスタンス (sqlservr.exe) を起動する方法

master データベースを復元するには

データベースをアタッチするには