トランザクション ログ バックアップを復元する方法 (SQL Server Management Studio)

注意

通常の復元処理では、データ バックアップおよび差分バックアップと共に、[データベースの復元] ダイアログ ボックスでログ バックアップを選択します。

バックアップは、作成された順序で復元する必要があります。特定のトランザクション ログ バックアップを復元する前に、まず、次に示す以前のバックアップを復元する必要があります。ただし、コミットされていないトランザクションはロールバックしません (WITH NORECOVERY)。

  • データベース全体のバックアップおよび、特定のトランザクション ログ バックアップの前に行われた差分バックアップがある場合は、最後の差分バックアップ

  • データベース全体のバックアップまたは差分バックアップ (差分バックアップを復元する場合) 以降、特定のトランザクション ログ バックアップ以前に行われたすべてのトランザクション ログ バックアップ

    注意

    次の [復旧状態] オプションを使用して、以前のバックアップを復元します。[データベースは操作不可能状態のままで、コミットされていないトランザクションはロールバックしない。別のトランザクション ログは復元できます。]

    トランザクション ログ バックアップの使用方法については、「トランザクション ログのバックアップ」を参照してください。

トランザクション ログ バックアップを復元するには

  1. オブジェクト エクスプローラで適切な Microsoft SQL Server データベース エンジンのインスタンスに接続した後、サーバー名をクリックしてサーバー ツリーを展開します。

  2. [データベース] を展開します。さらに、そのデータベースに応じて、ユーザー データベースを選択するか、または [システム データベース] を展開してシステム データベースを選択します。

  3. データベースを右クリックして [タスク] をポイントし、[バックアップ] をクリックします。

  4. [トランザクション ログ] をクリックして [トランザクション ログの復元] ダイアログ ボックスを開きます。

  5. [全般] ページで、[データベース] ボックスにデータベース名を入力するか、一覧からデータベースを選択します。復元状態のデータベースだけが一覧表示されます。

  6. 復元するバックアップ セットの復元元ファイルと場所を指定するには、次のいずれかのオプションをクリックします。

    • [データベースの以前のバックアップから]

      ログ バックアップを復元するデータベースの名前を選択します。

    • [ファイルまたはテープから]

      参照ボタンをクリックして、トランザクション ログ バックアップの復元元として 1 つ以上のファイルまたはテープを選択します。

      ファイルまたはテープを選択すると、[バックアップの指定] ダイアログ ボックスが開きます。[バックアップ メディア] ボックスの一覧から、デバイスの種類を 1 つ選択します。[バックアップの場所] ボックスの一覧にデバイスを追加するには、[追加] をクリックします。一覧にデバイスを追加したら、[OK] をクリックして [全般] ページに戻ります。

  7. [復元するバックアップ セットの選択] グリッドで、復元するバックアップを選択します。このグリッドには、選択したデータベースで使用できるトランザクション ログ バックアップが一覧表示されます。ログ バックアップは、そのログ バックアップの [最初の LSN] がデータベースの [最後の LSN] より大きい場合のみ使用できます。ログ バックアップは、含まれているログ シーケンス番号 (LSN) の順に一覧表示され、この順序で復元する必要があります。

    次の表は、グリッドの列ヘッダーとその値を示しています。

    ヘッダー

    復元

    チェック ボックスをオンにしたバックアップ セットが復元されます。

    バックアップ セット名

    バックアップ セットの名前。

    バックアップ コンポーネント

    バックアップ コンポーネント。[データベース][ファイル][トランザクション ログ] の場合は <空白>。

    バックアップの種類

    実行するバックアップの種類。[完全][差分]、または [トランザクション ログ]

    サーバー名

    バックアップ操作を実行したデータベース エンジン インスタンスの名前。

    データベース

    バックアップ操作に関係するデータベースの名前。

    位置

    ボリューム内でのバックアップ セットの位置。

    最初の LSN

    バックアップ セット内の先頭のトランザクションのログ シーケンス番号。ファイル バックアップの場合は空白。

    最後の LSN

    バックアップ セット内の最後のトランザクションのログ シーケンス番号。ファイル バックアップの場合は空白。

    チェックポイントの LSN

    バックアップが作成された時点で最新のチェックポイントのログ シーケンス番号。

    全 LSN

    データベース全体の最新バックアップのログ シーケンス番号。

    開始日

    バックアップ操作の開始日時 (クライアントの地域設定に準拠)。

    完了日

    バックアップ操作の完了日時 (クライアントの地域設定に準拠)。

    サイズ

    バックアップ セットのサイズ (バイト単位)。

    ユーザー名

    バックアップ操作を実行したユーザーの名前。

    有効期限

    バックアップ セットの期限が切れる日付と時刻。

  8. 次のいずれかを選択します。

    • [特定の時点]

      既定値 ([最新の候補]) をそのまま使用するか、または参照ボタンをクリックして [特定の時点に復元] ダイアログ ボックスを開き、特定の日付と時刻を選択します。

    • [マークされたトランザクション]

      以前にマークされたトランザクションにデータベースを復元します。このオプションを選択すると、[マークされたトランザクションの選択] ダイアログ ボックスが開いて、選択されたトランザクション ログ バックアップで使用できるマークされたトランザクションの一覧がグリッドに表示されます。

      既定では、マークされたトランザクションの前まで復元され、マークされたトランザクションは復元されません。マークされたトランザクションも復元するには、[マークされたトランザクションを含める] チェック ボックスをオンにします。

      次の表は、グリッドの列ヘッダーとその値を示しています。

      ヘッダー

      <空白>

      マークを選択するためのチェック ボックスを表示します。

      トランザクション マーク

      トランザクションがコミットされたときにユーザーが指定したマークされたトランザクションの名前。

      日付

      トランザクションがコミットされた日付と時刻。トランザクションの日付と時刻は、クライアント コンピュータの日付と時刻ではなく、msdbgmarkhistory テーブルに記録されたとおりに表示されます。

      説明

      トランザクションがコミットされたときにユーザーが指定したマークされたトランザクションの説明 (該当する場合)。

      LSN

      マークされたトランザクションのログ シーケンス番号。

      データベース

      マークされたトランザクションがコミットされたデータベースの名前。

      ユーザー名

      マークされたトランザクションをコミットしたデータベース ユーザーの名前。

  9. 詳細設定オプションを表示または選択するには、[ページの選択] ペインの [オプション] をクリックします。

  10. [復元先] オプションでは次の選択肢があります。

    • [レプリケーションの設定を保存する]

      パブリッシュされたデータベースを、そのデータベースが作成されたサーバーと異なるサーバーに復元する場合にレプリケーションの設定を保存します。

      このオプションは、[コミットされていないトランザクションをロールバックして、データベースを使用可能な状態にする...] オプション (後述) でのみ使用可能です。RECOVERY オプションを指定してバックアップを復元する場合と同じになります。

      このオプションをオンにすると、Transact-SQL の RESTORE ステートメントで KEEP_REPLICATION オプションを使用した場合と同じになります。

    • [各バックアップを復元する前に確認する]

      このオプションは、各バックアップ セットの復元前 (最初のバックアップ セットでは、その後) に、復元シーケンスを続行するかどうかをたずねる [復元の続行] ダイアログ ボックスを表示します。このダイアログには、次のメディア セットの名前 (使用可能な場合)、バックアップ セット名、およびバックアップ セットの説明が表示されます。

      このオプションは、異なるメディア セットのテープを交換する必要がある場合に特に役立ちます。たとえば、サーバーにテープ デバイスが 1 台しかない場合に使用できます。続行する準備ができたら [OK] をクリックします。

      [いいえ] をクリックすると、データベースは復元状態のままになります。最後の復元が完了した後、都合のよいときに復元シーケンスを継続できます。次のバックアップがデータまたは差分バックアップの場合は、[データベースの復元] タスクを再度使用します。次のバックアップがログ バックアップの場合は、[トランザクション ログの復元] タスクを使用します。

    • [復元するデータベースへのアクセスを制限する]

      復元されたデータベースを db_ownerdbcreator、または sysadmin のメンバのみが使用できるようにします。

      このオプションをオンにすると、Transact-SQL の RESTORE ステートメントで RESTRICTED_USER オプションを使用した場合と同じになります。

  11. [復旧状態] オプションでは、復元操作後のデータベースの状態を指定します。

    • [コミットされていないトランザクションをロールバックして、データベースを使用可能な状態にする。別のトランザクション ログは復元できません。]

      データベースを復旧します。このオプションは、Transact-SQL の RESTORE ステートメントの RECOVERY オプションと同じです。

      このオプションは、復元するログ ファイルがない場合にのみ選択します。

    • [データベースは操作不可状態のままで、コミットされていないトランザクションはロールバックしない。別のトランザクション ログは復元できます。]

      データベースを未回復の状態のままにします。このオプションは、Transact-SQL の RESTORE ステートメントの NORECOVERY オプションと同じです。

      このオプションを選択した場合は、[レプリケーションの設定を保存する] オプションは使用できません。

    • [データベースを読み取り専用モードにする。コミットされていないトランザクションは元に戻されますが、復旧結果を元に戻せるように元に戻す操作をスタンバイ ファイルに保存します。]

      データベースをスタンバイ状態のままにします。このオプションは、Transact-SQL の RESTORE ステートメントの STANDBY オプションと同じです。

      このオプションを選択した場合は、スタンバイ ファイルを指定する必要があります。

  12. 必要に応じて、[スタンバイ ファイル] ボックスにスタンバイ ファイルの名前を指定します。このオプションは、データベースを読み取り専用モードのままにする場合に必要です。スタンバイ ファイルは参照して指定するか、またはテキスト ボックスにパス名を入力します。