DPM を使用してAzureするSQL Server データベースのバックアップと復元

この記事では、Data Protection Manager (DPM) でAzure Backupを使用してSQL Serverデータベースをバックアップおよび復元する方法について説明します。

Azure Backup は、Azure アカウントを使用して SQL Server データベースを Azure にバックアップするのに役立ちます。 アカウントがない場合は、無料アカウントを数分で作成できます。 詳細については、Azure 無料アカウントの作成に関するページを参照してください。

注

ゲスト OS 内でトリミングが実行されると、増分ブロックの追跡がリセットされ、完全バックアップになります。 ゲスト OS 内のトリミングによって、仮想ディスク (VHDX) の未使用のブロックが解放され、ディスク サイズが最適化されます。 ただし、これにより VHDX のサイズが小さくなり、追跡されている増分ブロックの SequenceNumber が変更されるため、完全バックアップ サイズになります。 目的が Hyper-V ホスト側の記憶域の効率向上である場合を除き、バックアップ サイズの増加を避けるためにゲスト内のトリミング プロセスを停止することをお勧めします。

SQL Server データベースのバックアップ フロー

SQL Server データベースを Azure にバックアップし、Azure から回復するには、次の手順を実行します。

  1. Azure で SQL Server データベースを保護するためのバックアップ ポリシーを作成します。
  2. オンデマンドでのバックアップ コピーを Azure に作成します。
  3. Azure からデータベースを回復します。

サポートされるシナリオ

前提条件と制限事項

  • リモート ファイル共有にあるファイルを含むデータベースがある場合、保護はエラー ID 104 で失敗します。 DPM では、リモート ファイル共有上の SQL Server データの保護はサポートされていません。
  • リモート SMB 共有に保存されているデータベースを DPM で保護することはできません。
  • 可用性グループのレプリカが読み取り専用として構成されていることを確認します。
  • システム アカウント NTAuthority\System を SQL Server の Sysadmin グループに明示的に追加する必要があります。
  • 部分的な包含データベースに対して別の場所への回復を実行する場合は、ターゲット SQL インスタンスで包含データベース機能が有効になっていることを確認する必要があります。
  • ファイル ストリーム データベースに対して別の場所への回復を実行する場合、ターゲット SQL インスタンスでファイル ストリーム データベース機能が有効になっていることを確認する必要があります。
  • SQL Server Always On の保護:
    • 保護グループの作成で照会を実行中に、DPM は可用性グループを検出します。
    • DPM はフェールオーバーを検出し、データベース保護を続行します。
    • DPM は SQL Server のインスタンスに対して、マルチサイト クラスター構成をサポートします。
  • Always On 機能を使用するデータベースを DPM で保護する場合、次の制限事項があります。
    • DPM は、次のとおり、バックアップの優先設定に基づいて SQL Server で設定された可用性グループのバックアップ ポリシーに従います。
      • セカンダリ優先 - オンラインになっているのがプライマリ レプリカのみの場合を除き、バックアップは常にセカンダリ レプリカ上で発生します。 セカンダリ レプリカが複数ある場合は、バックアップの優先度が最も高いノードがバックアップ用に選択されます。 プライマリ レプリカのみを使用できる場合、バックアップはプライマリ レプリカ上で発生します。
      • セカンダリのみ - プライマリ レプリカでのバックアップは行いません。 オンラインになっているのがプライマリ レプリカのみの場合、バックアップは発生しません。
      • プライマリ - バックアップは常にプライマリ レプリカ上で発生します。
      • 任意のレプリカ - バックアップは、可用性グループ内の使用可能な任意のレプリカで発生できます。 バックアップ元となるノードは、各ノードのバックアップの優先度によって決まります。

      注

      • 読み取り可能なレプリカ (プライマリ、同期セカンダリ、非同期セカンダリ) であれば、どれでもバックアップを発生させることができます。
      • レプリカがバックアップから除外されている場合 (たとえば [レプリカの除外] が有効であったり、レプリカが読み取り不可としてマークされていたりする場合) は、どのオプションでも、そのレプリカがバックアップ用に選択されることはありません。
      • 読み取り可能なレプリカが複数ある場合は、バックアップの優先度が最も高いノードがバックアップ用に選択されます。
      • 選択されたノード上でバックアップに失敗した場合、バックアップ操作は失敗します。
      • 元の場所への回復はサポートされていません。
  • SQL Server 2014 以降のバックアップに関する問題:
    • Microsoft Azure Blob Storage にオンプレミスの SQL Server 用のデータベースを作成するための新機能が SQL Server 2014 に追加されました。 この構成を保護するために DPM を使用することはできません。
    • SQL Always On オプションの [セカンダリを優先する] バックアップ設定には、いくつかの既知の問題があります。 DPM では、常にセカンダリからバックアップが作成されます。 セカンダリが見つからない場合、バックアップは失敗します。

開始する前に

開始する前に、Azure Backup を使用してワークロードを保護するための前提条件を満たしていることを確認します。 前提条件となるタスクの一部を次に示します。

  • バックアップ コンテナーを作成します。
  • ボールトの資格情報をダウンロード
  • Azure Backup エージェントをインストールします。
  • サーバーをボールトに登録します。

バックアップ ポリシーの作成

Azure で SQL Server データベースを保護するには、まずバックアップ ポリシーを作成します。

  1. Data Protection Manager (DPM) サーバーで、 [保護] ワークスペースを選択します。

  2. [新規] を選択して保護グループを作成します。

    保護グループの作成を開始する方法を示すスクリーンショット。

  3. スタート ページで、保護グループの作成に関するガイダンスを確認します。 [次へ] を選択します。

  4. [サーバー] を選択します。

    [サーバーの保護グループの種類] を選ぶ方法を示すスクリーンショット。

  5. バックアップしたいデータベースが配置されている SQL Server 仮想マシンを展開します。 そのサーバーからバックアップできるデータ ソースが表示されます。 [All SQL Shares](すべての SQL 共有) を展開し、バックアップしたいデータベースを選択します。 この例では、ReportServer$MSDPM2012 と ReportServer$MSDPM2012TempDB を選択します。 [次へ] を選択します。

    SQL Server データベースを選ぶ方法を示すスクリーンショット。

  6. 保護グループに名前を付け、 [オンライン保護を利用する] を選択します。

    短期的なディスク保護または Azure でのオンライン保護というデータ保護方法を選ぶ方法を示すスクリーンショット。

  7. [短期的な目標値の指定] ページで、ディスクへのバックアップ ポイントを作成するために必要な入力を指定します。

    この例では、 [リテンション期間] は "5 日" に設定されています。 バックアップの [同期の頻度] は、"15 分" に 1 回に設定されています。 [高速完全バックアップ] は "午後 8:00" に設定されています。

    バックアップ保護の短期的な目標を設定する方法を示すスクリーンショット。

    注

    この例では、毎日午後 8:00 にバックアップ ポイントが作成されます。 前日の午後 8:00 のバックアップ ポイント以降に変更されたデータが転送されます。 このプロセスは、 高速完全バックアップと呼ばれます。 トランザクション ログは 15 分ごとに同期されますが、午後 9:00 にデータベースを回復する必要がある場合は、最新の高速完全バックアップ ポイント (この例では午後 8:00) からログを再生することでポイントが作成されます。

  8. [次へ] を選択します。 DPM には、使用可能なストレージ領域全体が表示されます。 また、考えられるディスク領域使用率も表示されます。

    ディスク割り当てを設定する方法を示すスクリーンショット。

    既定では、DPM によってデータ ソース (SQL Server データベース) ごとに 1 つのボリュームが作成されます。 このボリュームは、初回バックアップ コピーに使用されます。 この構成では、論理ディスク マネージャー (LDM) によって DPM 保護は 300 データ ソース (SQL Server データベース) に制限されます。 この制限を避けるには、 [DPM 記憶域プールにデータを併置する] を選択します。 このオプションを使用すると、DPM では複数のデータ ソースに 1 つのボリュームが使用されます。 この設定により、DPM は最大 2,000 の SQL Server データベースを保護できます。

    [ボリュームを自動的に拡大する] を選択すると、運用データの増大に合わせて DPM でバックアップ ボリュームを増やすことができます。 [ボリュームを自動的に拡大する] を選択しない場合、バックアップ ストレージは DPM によって保護グループ内のデータ ソースに制限されます。

  9. 管理者であれば、この初回バックアップを自動的 (ネットワーク経由) に転送することを選択し、転送するタイミングを選択できます。 または、手動でのバックアップの転送を選択します。 [次へ] を選択します。

    レプリカ作成方法を選ぶ方法を示すスクリーンショット。

    初回バックアップ コピーでは、データ ソース (SQL Server データベース) 全体を転送する必要があります。 バックアップ データは、運用サーバー (SQL Server コンピューター) から DPM サーバーに移動されます。 このバックアップが大きい場合、ネットワーク経由でデータを転送すると、帯域幅の輻輳が発生する可能性があります。 このため、管理者は、リムーバブル メディアを使用して初回バックアップを手動で転送することを選択できます。 または、指定した時間に自動的 (ネットワーク経由) にデータを転送できます。

    初回バックアップが完了すると、バックアップは初回バックアップ コピーで増分的に続行されます。 増分バックアップは一般に非常に小さく、ネットワーク経由で容易に転送できます。

  10. 整合性チェックを実行するタイミングを選択します。 [次へ] を選択します。

    整合性チェックを実行するスケジュールを選ぶ方法を示すスクリーンショット。

    DPM では、バックアップ ポイントの整合性に関する整合性チェックを実行できます。 それにより、運用サーバー (この例では SQL Server コンピューター) のバックアップ ファイルと DPM にバックアップされたそのファイルのデータのチェックサムが計算されます。 チェックで競合が検出された場合は、DPM 内のバックアップ ファイルが破損していることが想定されます。 DPM からチェックサムの不一致に対応するブロックが送信され、バックアップ データが修正されます。 整合性チェックはパフォーマンスに影響する操作なので、管理者は整合性チェックをスケジュールするか、自動的に実行することができます。

  11. Azure で保護するデータ ソースを選択します。 [次へ] を選択します。

    Azure で保護するデータ ソースを選ぶ方法を示すスクリーンショット。

  12. 自分が管理者の場合は、組織のポリシーに合ったバックアップ スケジュールと保持ポリシーを選択できます。

    スケジュールと保持ポリシーを選ぶ方法を示すスクリーンショット。

    この例では、バックアップは毎日午後 12:00 と午後 8:00 に作成されます。

    ヒント

    迅速な回復のために、ディスク上にいくつかの短期的な回復ポイントを保持します。 これらの回復ポイントは、オペレーショナル リカバリに使用されます。 Azure は、より高い SLA を提供し、可用性を確保するのに適したオフサイトの場所として機能します。

    DPM を使用して、ローカル ディスクのバックアップが終了した後に Azure のバックアップをスケジュールします。 この方法に従うと、最新のディスク バックアップが Azure にコピーされます。

  13. 保持ポリシー スケジュールを選択します。 保持ポリシーのしくみの詳細については、Azure Backup を使用したテープ インフラストラクチャの置換に関するページを参照してください。

    保持ポリシーを選ぶ方法を示すスクリーンショット。

    この例では:

    • バックアップは毎日午後 12:00 と午後 8:00 に作成されます。 保持期間は 180 日間です。
    • 土曜日午後 12:00 のバックアップは、104 週間保持されます。
    • 月の最終土曜日午後 12:00 のバックアップは 60 か月間保持されます。
    • 3 月の最終土曜日午後 12:00 のバックアップは 10 年間保持されます。

    保持ポリシーを選択したら、 [次へ] を選択します。

  14. 初回バックアップ コピーを Azure に転送する方法を選択します。

    • [自動 (ネットワーク経由)] オプションを選択すると、バックアップ スケジュールに従ってデータが Azure に転送されます。
    • [オフライン バックアップ] の詳細については、「オフライン バックアップの概要」を参照してください。

    転送メカニズムを選択したら、 [次へ] を選択します。

  15. [概要] ページで、ポリシーの詳細を確認します。 次に [グループの作成] を選択します。 [閉じる] を選択し、 [監視] ワークスペースでジョブの進行状況を確認できます。

    保護グループの作成の進行状況を示すスクリーンショット。

SQL Server データベースのオンデマンド バックアップ コピーを作成する

初回バックアップが実行されると、回復ポイントが作成されます。 スケジュールが実行されるまで待つのではなく、回復ポイントの作成を手動でトリガーできます。

  1. 保護グループで、データベースの状態が [OK] であることを確認します。

    保護グループ内のデータベースの状態を示すスクリーンショット。

  2. データベースを右クリックし、 [回復ポイントの作成] を選択します。

    オンライン回復ポイントの作成を選ぶ方法を示すスクリーンショット。

  3. ドロップダウン メニューで、 [オンライン保護] を選択します。 次に、 [OK] を選択して、Azure での回復ポイントの作成を開始します。

    Azure で回復ポイントの作成を開始する方法を示すスクリーンショット。

  4. ジョブの進行状況は [監視] ワークスペースで確認できます。

    監視コンソールでジョブの進行状況を表示する方法を示すスクリーンショット。

Azure からの SQL Server データベースの回復

SQL Server データベースなどの保護されたエンティティを Azure から回復するには:

  1. DPM サーバーの管理コンソールを開きます。 [回復] ワークスペースに移動して、DPM によってバックアップされたサーバーを確認します。 データベース (この例では ReportServer$MSDPM2012) を選択します。 末尾が オンライン である 復旧時刻 を選択します。

    回復ポイントを選ぶ方法を示すスクリーンショット。

  2. データベース名を右クリックし、 [回復] を選択します。

    Azure からデータベースを回復する方法を示すスクリーンショット。

  3. DPM に回復ポイントの詳細が表示されます。 [次へ] を選択します。 データベースを上書きするには、回復のタイプとして [元の SQL Server のインスタンスに回復する] を選択します。 [次へ] を選択します。

    データベースを元の場所に回復する方法を示すスクリーンショット。

    この例では、DPM を使って、データベースを別の SQL Server インスタンスまたはスタンドアロンのネットワーク フォルダーに回復できます。

  4. [回復オプションの指定] ページでは、回復オプションを選択できます。 たとえば、 [ネットワークの使用帯域幅の調整] を選択して、回復に使用する帯域幅を調整できます。 [次へ] を選択します。

  5. [概要] ページに、現在の回復構成が表示されます。 [回復] を選択します。

    回復の状態に、データベースが回復されていることが表示されます。 [閉じる] を選択してウィザードを閉じ、 [監視] ワークスペースで進行状況を確認できます。

    回復プロセスを開始する方法を示すスクリーンショット。

    回復が完了すると、復元されたデータベースはアプリケーションと整合性が取れています。

次のステップ

詳細については、Azure Backup に関する FAQ を参照してください。

PowerShell を使用して DPM サーバーの Azure へのバックアップを管理します。 DPM とAzure Backupの概要。 Azure Backupを使用してテープ インフラストラクチャを交換します。