Microsoft SQL Server データベースを復元する

データベースが削除または破損した場合は、次のいずれかの方法で復元できます。

  • 完全復元オペレーションを実行する
  • クローンを作成するか、データベースを仮想アプリケーションとしてほぼ瞬時にマウントし、元の場所または新しい場所に移行します。データベースをマウントして移行するには、SQL Server のマウントと移行をご覧ください。

復元プロセスはウィザード主導で、Always On 可用性グループ(AG)のメンバーなどの単一のデータベース イメージを復元するか、SQL インスタンス内の複数のイメージを復元するかによって若干異なります。

始める前に

このセクションの手順を実行する前に、次のことを確認してください。

  • データベースが緊急モードではない。

  • 実行中のジョブが完了するまで待ちます。

Microsoft SQL Server データベースの復元の概要

復元機能は、元の本番環境データを選択した特定の時点の画像またはバックアップ ボールトのイメージに置き換えます。この復元により、イメージが作成された時点の状態に復元されるときにデータベースが上書きされるため、現在のデータベース データがすべて失われます。この操作は元に戻せません。

復元オペレーションは通常、データ破損イベントの後にデータベースを有効な状態に復元するために実行されます。復元オペレーションの完了に必要な時間は、関連するデータの量によって異なります。

Microsoft SQL Server 完全復元モデルを使用するデータベースでは、単一のポリシーを使用してデータベースとそのログの両方をキャプチャします。このようなデータベースは、ログをロール フォワードすることで任意の時点に復元できます。管理コンソールで [Restore with Recovery] を指定してデータベースを復元すると、SQL Server データベースが復元され、ログの適用後にオンラインになります。

バックアップと DR は、Microsoft SQL Server データベースとインスタンスを復元する際の一般的なユースケースをサポートしています。

  • データベースのインプレース復元を実行する: 本番環境のデータベースまたはインスタンスが破損しているが、まだオンラインの場合は、復元オペレーションを実行します。

  • 仮想アプリケーションを使用する(仮想アプリケーション マウント): 破損した SQL Server インスタンスまたはデータベースの最後の正常なバージョンの仮想アプリケーション マウントを使用して、ユーザーとアプリケーションができる限り早く作業を再開できるようにします。その後、マウントと移行を使用してデータベースをバックグラウンドで移行できます。SQL Server のマウントと移行をご覧ください。

Microsoft SQL インスタンスとデータベースを復元する

これは最もシンプルで一般的な復元シナリオです。この場合、選択した SQL データベースを以前のイメージから元のデータベース サーバーに復元します。このタイプの復元を行うには、データベースがオンラインである必要があります。データベースがオンラインでない場合、データベースの検証時に復元オペレーションが失敗します。この場合は、代わりにデータベースのクローンを作成します。

この手順を実行する手順は次のとおりです。

  • Microsoft SQL Server データベースがオンラインである必要があります。データベースがオンラインでない場合、データベースの検証時に復元オペレーションが失敗します。

  • 実行中のジョブが完了するまで待ちます。

SQL Server データベースを復元するには:

  1. App Manager を開き、[アプリケーション] ページに移動します。

  2. 復元する Microsoft SQL Server データベースを右クリックし、プルダウン リストから [アクセス] を選択します。[アクセス] ページが開き、キャプチャされたイメージがタイムライン ランプビューに一覧表示されます。復元オペレーションをサポートするイメージタイプには、Snapshot と OnVault がありますが、これはイメージをキャプチャしたアプライアンスと同じアプライアンスを使用している場合に限られます。

    別のアプライアンスでの復元が必要な場合は、代わりにクローン作成オペレーションを使用します。

    SQL Server データベースとトランザクション ログ ファイルを含むスナップショット イメージが区別できるように表示され、ログの復元範囲の期間も示されます。

  3. イメージを選択し、オペレーションのリストから [復元] を選択します。[Restore] ページが開きます。

  4. この復元オペレーションでは、[従来型] を選択します。

  5. 選択したデータベースにログがない場合、[復元] ページにロール フォワード オプションは表示されません。ログ保護バックアップ テンプレートを使用して SQL Server データベースが管理されており、イメージでログが利用可能な場合は、次のことができます。

    • User Time または Host Time を使用して、ロール フォワードを指定します。日時をユーザー時間またはホスト時間に基づいて設定できます。ユーザー時間は、現在の画面の閲覧者が基準になります。ホスト時間は、復元されるデータをホストするシステムが基準になります。

    • カレンダー ツールを使用して、ロールフォワード オペレーションの日付を選択します。

    • [Restore Range] スライダーを使用して、選択した日にデータベースを復元する特定の時間を選択します。スライダー ツールを一番左まで動かし、最も早い日付を選択して、ログをロールフォワードせずに SQL Server データベースのみを復元します。

  6. データベースを復元モードのままにする場合は、[復元ありで復元] チェックボックスをオフにします。[Restore with Recovery] では、復元されたデータベースがオンラインになります。オンラインになった後にログを適用することはできません。

  7. [送信] をクリックします。

    警告ダイアログが開きます。内容を読んでから、[DATA LOSS] と入力して確定します。復元ジョブが開始されます。System Monitor でジョブ ステータスを表示して、復元オペレーションが成功したことを確認できます。

SQL システム データベースを復元する

Backup and DR は、SQL Server ユーザー データベースと同様に、Microsoft SQL システム データベースを検出してバックアップできます。

SQL システム データベースを復元するには、まずそのデータベースの最後に確認された正常なバージョンをマウントし、ファイル コピー オペレーションを使用して、正常な SQL Server システム データベースの .mdf ファイルと .ldf ファイルを、破損した SQL システム データベースをホストするソース SQL サーバーにコピーする必要があります。

  1. [アプリ マネージャー] に移動し、[アプリケーション] を選択します。
  2. 整合性グループの最後に検出された正常なイメージを選択してマウントします。[Create new virtual application] の選択を解除します。

  3. 可能であれば、次のサンプルクエリを使用して、データベースのファイルの場所を表示します。

    SELECT name, physical_name AS current_file_location FROM sys.master_files
    
  4. SQL インスタンスから、SQL Server 構成マネージャーまたはサービス MMC を使用して、ソース SQL インスタンスを停止します。

  5. Windows エクスプローラまたはその他の方法で、SQL システム データベースのマウントされたバックアップに移動します。

  6. 復元するデータベースのマウントされた .mdf ファイルと .ldf ファイルをコピーします。

  7. Windows エクスプローラまたはその他の方法で、ソースの SQL Server データベースに移動します。

  8. .mdf ファイルと .ldf ファイルをソースの SQL Server データベースに貼り付けます。

  9. SQL インスタンスから、SQL Server 構成マネージャーまたはサービス MMC を使用して、ソース SQL Server データベースを再起動します。

SQL Server クラスタに復元する

SQL Server フェイルオーバー インスタンスの場合、データベースは常にアクティブ ノードに復元されます。SQL Server 可用性グループの場合、復元はすべてのノードで実行されます。

整合性グループ内の SQL Server データベースを復元する

整合性グループ内の Microsoft SQL Server データベースを復元する際は注意が必要です(整合性グループの復元をご覧ください)。整合性グループ内の SQL Server データベースを復元すると、整合性グループ内のすべてのデータベースが上書きされます。

Backup and DR SQL Server DBA Guide

このページは、バックアップと DR を使用した Microsoft SQL Server データベースの保護と復元に固有のシリーズのページの 1 つです。詳細については、以下をご覧ください。