master データベースの復元 (Transact-SQL)

適用対象:SQL Server (サポートされているすべてのバージョン)

このトピックでは、データベースの完全バックアップから master データベースを復元する方法について説明します。

警告

ディザスター リカバリーが発生した場合、マスター データベースが復元されるインスタンスは、元のインスタンスに対して、可能な限り完全一致に近い状態である必要があります。 少なくとも、この復旧インスタンスは、同じバージョン、エディション、パッチ レベルである必要があります。また、元のインスタンスと同じ機能が選択されており、同じ外部構成 (ホスト名、クラスター メンバーシップなど) を備えている必要があります。 それ以外の場合は、SQL Server インスタンスの動作が未定義となり、機能が一貫してサポートされなくなることに加え、実用性が保証されなくなります。

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

  1. サーバー インスタンスをシングル ユーザー モードで起動します。

    シングル ユーザー スタートアップ パラメーター (-m) を指定する方法については、「サーバースタートアップ オプションの構成 (SQL Server 構成マネージャー)」を参照してください。

  2. master のデータベースの完全バックアップを復元するには、次の RESTORE DATABASETransact-SQL ステートメントを使用します。

    RESTORE DATABASE master FROM<backup_device>WITH REPLACE

    REPLACE オプションは、指定したデータベースと同じ名前のデータベースが既に存在していても、 SQL Server でデータベースを復元することを指定します。 既存のデータベースがある場合は削除されます。 シングル ユーザー モードでは、 sqlcmd ユーティリティで RESTORE DATABASE ステートメントを入力することをお勧めします。 詳細については、「 sqlcmd Utility の使用」を参照してください。

    重要

    master の復元後、 SQL Server のインスタンスがシャットダウンされ、 sqlcmd プロセスが終了します。 サーバー インスタンスを再起動する前に、シングル ユーザーの起動時のパラメーターを削除してください。 詳細については、「サーバーのスタートアップ オプションの構成 (SQL Server 構成マネージャー)」を参照してください。

  3. サーバー インスタンスを再起動し、他のデータベースの復元、データベースのインポート、ユーザーの不一致の修正など、残りの復旧手順を実行します。

次の例では、既定のサーバー インスタンスで master データベースを復元します。 この例では、サーバー インスタンスが既にシングル ユーザー モードで実行されていることを前提としています。 この例は、 sqlcmd を起動し、ディスク デバイス RESTORE DATABASE から master データベースの完全バックアップを復元する Z:\SQLServerBackups\master.bakステートメントを実行します。

Note

名前付きインスタンスの場合、 sqlcmd コマンドで -S<ComputerName>\<InstanceName> オプションを指定する必要があります。

  
      C:\> sqlcmd  
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
2> GO  

関連項目

データベースの全体復元 (単純復旧モデル)
データベースの全体復元 (完全復旧モデル)
孤立したユーザーのトラブルシューティング (SQL Server)
データベースのデタッチとアタッチ (SQL Server)
システム データベースの再構築
データベース エンジン サービスのスタートアップ オプション
SQL Server 構成マネージャー
システム データベースのバックアップと復元 (SQL Server)
RESTORE (Transact-SQL)
シングル ユーザー モードでの SQL Server の起動