Share via


master データベースを復元する方法 (Transact-SQL)

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

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

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

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

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

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE

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

    重要な注意事項重要

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

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

使用例

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

注意注意

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

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