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 データベースを復元するには
SqlRestore (SMO)
データベースをアタッチするには