次の方法で共有


チュートリアル: Azure VM 上の SQL Server データベースをバックアップする

このチュートリアルでは、Azure 仮想マシン (VM) で実行されている SQL Server データベースを Azure Backup Recovery Services コンテナーにバックアップする方法について説明します。

このチュートリアルでは、Azure portal を使用して次の操作を行います。

  • コンテナーの作成と構成。
  • データベースを検出し、バックアップを設定します。
  • データベースに対する自動保護の設定。
  • オンデマンド バックアップを実行します。

前提条件

  • SQL Server インスタンスをホストする VM と同じリージョンまたはロケールで Recovery Services コンテナーを特定または 作成 します。
  • SQL Server データベースのバックアップに必要な VM のアクセス許可を確認します。
  • VM がネットワーク接続を備えていることを確認する。
  • Azure Backup の 名前付けガイドライン に従って、SQL Server データベースに名前が付けられていることを確認します。
  • データベースに対して有効になっているバックアップ ソリューションが他にないことを確認する。 このシナリオを設定する前に、他のすべての SQL Server バックアップを無効にします。 Azure VM に対して Azure Backup を有効にし、VM 上で実行されている SQL Server データベースの Azure Backup を競合なく有効にすることができます。

Recovery Services コンテナーを作成する

Recovery Services コンテナーは、経時的に作成された復旧ポイントを保存する管理エンティティです。 バックアップ関連の操作を実行するためのインターフェイスを提供します。 たとえば、オンデマンドのバックアップの作成、復元の実行、バックアップ ポリシーの作成などの操作です。

Recovery Services コンテナーを作成するには、次の手順に従います。

  1. Azure portal にサインインします。

  2. 回復性を検索し、回復性ダッシュボードに移動します。

    回復性を検索して選択する場所を示すスクリーンショット。

  3. [ ボールト ] ウィンドウで、[ + ボールト] を選択します。

    Recovery Services コンテナーの作成を開始する方法を示すスクリーンショット。

  4. [Recovery Services コンテナー]>[続行] の順に選択します。

    ボールトの種類として Recovery Services を選択する場所を示すスクリーンショット。

  5. [ Recovery Services コンテナーの作成 ] ウィンドウで、次の値を入力します。

    • [サブスクリプション]: 使用するサブスクリプションを選択します。 1 つのサブスクリプションのみのメンバーである場合は、その名前が表示されます。 どのサブスクリプションを使用すればよいかわからない場合は、既定のサブスクリプションを使用してください。 職場または学校アカウントが複数の Azure サブスクリプションに関連付けられている場合にのみ、複数の選択肢が表示されます。

    • [リソース グループ]: 既存のリソース グループを使用するか、新しいリソース グループを作成します。 サブスクリプションで使用可能なリソース グループの一覧を表示するには、[ 既存のものを使用] を選択します。 次に、ドロップダウン リストでリソースを選択します。 新しいリソース グループを作成するには、[新規作成] を選択し、名前を入力します。 リソース グループの詳細については、「Azure Resource Manager の概要」を参照してください。

    • [コンテナー名]: コンテナーを識別するフレンドリ名を入力します。 名前は Azure サブスクリプションに対して一意である必要があります。 2 文字以上で、50 文字以下の名前を指定します。 名前の先頭にはアルファベットを使用する必要があります。また、名前に使用できるのはアルファベット、数字、ハイフンのみです。

    • [リージョン]: コンテナーの地理的リージョンを選択します。 データ ソースを保護するためのコンテナーを作成するには、コンテナーがデータ ソースと同じリージョン内にある "必要があります"。

      重要

      データ ソースの場所が不明な場合は、ウィンドウを閉じます。 ポータルの自分のリソースの一覧に移動します。 複数のリージョンにデータ ソースがある場合は、リージョンごとに Recovery Services コンテナーを作成します。 最初の場所にコンテナーを作成してから、別の場所にコンテナーを作成してください。 バックアップ データを格納するためにストレージ アカウントを指定する必要はありません。 Recovery Services コンテナーと Azure Backup は、その手順を自動的に処理します。

    Recovery Services ボールトを構成するためのフィールドを示すスクリーンショット。

  6. 値を指定したら、[ 確認と作成] を選択します。

  7. Recovery Services コンテナーの作成を完了するには、[作成] を選択します。

    Recovery Services コンテナーの作成に時間がかかることがあります。 右上の [通知] 領域で、状態の通知を監視します。 作成されたコンテナーは、Recovery Services コンテナーのリストに表示されます。 コンテナーが表示されない場合は、[最新の情報に更新] を選択します。

    バックアップ ボールトの一覧を更新するボタンを示すスクリーンショット。

Azure Backup では、復旧ポイントが作成された後、バックアップ ポリシーに従って有効期限が切れる前に削除できないようにするために役立つ不変コンテナーがサポートされるようになりました。 ランサムウェア攻撃や悪意のあるアクターなど、さまざまな脅威からバックアップ データを保護するために、不変性を元に戻すことができないようにすることができます。 Azure Backup 不変コンテナーの詳細を確認します

SQL Server データベースを検出する

VM で実行されているデータベースを検出するには、次の手順に従います。

  1. Azure portal で [回復性] に移動し、[+ 保護の構成] を選択します。

  2. [ 保護の構成 ] ウィンドウの [ データソースの種類] で、 Azure VM で [SQL] を選択します。 その後 [続行] を選択します。

    バックアップのデータソースとしての SQL Server データベースの選択を示すスクリーンショット。

  3. [スタート: バックアップの構成] ウィンドウの [コンテナー] で、[コンテナーの選択] を選択します

  4. [ コンテナーの選択 ] ウィンドウで、データベースをバックアップする Recovery Services コンテナーを選択します。 次に [選択] を選択します。

  5. 続行を選択します。

  6. [ バックアップの目標 ] ウィンドウ の [VM 内の DB の検出] で、[ 検出の開始 ] を選択して、サブスクリプション内の保護されていない VM を検索します。 サブスクリプション内にある保護されていない VM の数によっては、この検索に少し時間がかかる場合があります。

  7. [ 仮想マシンの選択 ] ウィンドウで、SQL Server データベースを実行している VM を選択し、[ DB の検出] を選択します。

    仮想マシンの一覧とデータベースを検出するためのオプションを示すスクリーンショット。

    Note

    保護されていない VM は、名前とリソース グループで並べ替えられた検出後に一覧に表示されます。 VM が予想どおりに一覧表示されない場合、それが既にコンテナーにバックアップされていないかを確認してください。

    複数の VM は同じ名前を持つことができますが、異なるリソース グループに属します。

  8. [通知] でデータベースの検出を追跡できます。 この操作に必要な時間は、VM のデータベースの数によって異なります。 選択したデータベースが検出されたら、成功のメッセージが表示されます。

    デプロイの成功メッセージを示すスクリーンショット。

Azure Backup によって、VM 上のすべての SQL Server データベースが検出されます。 検出中、バックグラウンドで次のアクティビティが発生します。

  • Azure Backup によって、ワークロード バックアップ用のコンテナーに VM が登録されます。 登録された VM 上のすべてのデータベースは、このコンテナーのみに対してバックアップできます。

  • Azure Backup は、VM に AzureBackupWindowsWorkload 拡張機能をインストールします。 SQL Server データベースにエージェントがインストールされていません。

  • Azure Backup によって、VM にサービス アカウント NT Service\AzureWLBackupPluginSvc が作成されます。 次の点に注意してください。

    • すべてのバックアップおよび復元操作に、サービス アカウントを使用します。
    • NT Service\AzureWLBackupPluginSvc には、SQL Server sysadmin のアクセス許可が必要です。
    • Azure Marketplace で作成されたすべての SQL Server VM には、 SqlIaaSExtension がインストールされています。 AzureBackupWindowsWorkload拡張機能は、SQLIaaSExtensionを使用して、必要なアクセス許可を自動的に取得します。
  • Azure Marketplace から VM を作成しなかった場合、または SQL Server 2008 または SQL Server 2008 R2 を使用している場合は、VM SqlIaaSExtension インストールされていない可能性があります。 検出操作は、エラー メッセージ UserErrorSQLNoSysAdminMembershipで失敗します。 この問題を解決するには、「 VM のアクセス許可を設定する」の手順に従います。

    保護されたサーバーのエラーの詳細を示すスクリーンショット。

バックアップを構成する

SQL Server データベースのバックアップを構成するには、次の手順に従います。

  1. [ バックアップの目標 ] ウィンドウの [ 手順 2: バックアップの構成] で、[ バックアップの構成] を選択します。

    [バックアップの構成] ボタンを示すスクリーンショット。

  2. [ リソースの追加] を選択して、登録されているすべての可用性グループとスタンドアロン SQL Server インスタンスを表示します。

    [リソースの追加] ボタンを示すスクリーンショット。

  3. [ バックアップする項目の選択 ] ウィンドウで、行の左側にある矢印を選択して、そのインスタンスまたは Always On 可用性グループ内のすべての保護されていないデータベースの一覧を展開します。

    バックアップする項目を選択するためのペインのスクリーンショット。

  4. バックアップするすべてのデータベースを選択し、[ OK] を選択します。

    バックアップ用に選択されたデータベースを示すスクリーンショット。

    バックアップの読み込みを最適化するために、Azure Backup では、1 つのバックアップ ジョブ内のデータベースの最大数を 50 に設定します。 50 個を超えるデータベースを保護するには、複数のバックアップを構成します。

    インスタンス全体または Always On 可用性グループを 有効 にするには、 AUTOPROTECT ドロップダウン リストで [オン] を選択します。 その後、OK を選択します。

    Note

    自動保護機能では、既存のすべてのデータベースの保護が一度に有効にされるだけではありません。 また、そのインスタンスまたは可用性グループに追加された新しいデータベースも自動的に保護されます。

  5. バックアップ ポリシーを定義します。 次のうちのいずれかを実行できます。

    • 既定のポリシーを HourlyLogBackup として選択します。
    • SQL Server 用に作成した既存のバックアップ ポリシーを選択します。
    • 復旧ポイントの目標と保有期間の範囲に基づいて、新しいポリシーを定義します。

    バックアップ ポリシーを定義するためのペインを示すスクリーンショット。

  6. バックアップを有効化を選択して保護を構成する操作を送信します。 構成の進行状況は、ポータルの [通知 ] 領域で追跡できます。

    構成の進行状況を追跡するための領域を示すスクリーンショット。

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

バックアップ ポリシーでは、バックアップを実行するタイミングと、バックアップが保持される期間を定義します。 以下の考慮事項に留意してください。

  • ポリシーはコンテナー レベルで作成されます。
  • 複数のコンテナーでは同じバックアップ ポリシーを使用できますが、各コンテナーにバックアップ ポリシーを適用する必要があります。
  • バックアップ ポリシーの作成時には、日次での完全バックアップが既定値になっています。
  • 差分バックアップを追加することは可能ですが、週次で実行するように完全バックアップを構成する場合だけです。 SQL Server のバックアップの種類の詳細を確認します

バックアップ ポリシーを作成するには:

  1. [回復性] に移動し、[管理>保護ポリシー>+ ポリシーの作成>バックアップ ポリシーの作成を選択します。

  2. [スタート: ポリシーの作成] ウィンドウで、データソースの種類として Azure VM の SQL を選択します。 ポリシーを作成するコンテナーを選択し、[ 続行] を選択します。

    新しいバックアップ ポリシーのポリシーの種類の選択を示すスクリーンショット。

  3. [ ポリシーの作成 ] ウィンドウの [ ポリシー名] に、新しいポリシーの名前を入力します。

    ポリシー名を入力する方法を示すスクリーンショット。

  4. バックアップ頻度の既定の設定を変更するには、[完全バックアップ] に対応する [編集] リンクを選択します。

  5. [ 完全バックアップ ポリシー ] ウィンドウで、[ バックアップ スケジュール] で次の設定を構成します。

    1. [ 頻度] で、[ 日単位 ] または [毎週] を選択 します
    2. その他のボックスで、バックアップ ジョブが開始される時刻とタイム ゾーンを選択します。 日次の完全バックアップを選択する場合は、差分バックアップを作成できません。

    新しいバックアップ ポリシーのオプションを示すスクリーンショット。

  6. [ 保持範囲] では、既定ですべてのオプションが選択されます。 使用しないリテンション期間の制限を解除してから、使用する間隔を設定します。 この情報を心に留めておいてください。

    • 任意の種類のバックアップ (完全、差分、またはログ) の最小保有期間は 7 日間です。
    • 復旧ポイントは、そのリテンション期間の範囲に基づいて、リテンション期間に対してタグ付けされます。 たとえば、毎日の完全バックアップを選択すると、毎日 1 つの完全バックアップのみがトリガーされます。
    • 特定の曜日のバックアップがタグ付けされ、週次でのリテンション期間の範囲と週次でのリテンション期間の設定に基づいて保持されます。
    • 月次および年次のリテンション期間の範囲でも、同様の動作になります。

    保有期間の間隔の設定を示すスクリーンショット。

  7. [OK] を選択して、完全バックアップの設定を受け入れます。

  8. [ポリシーの作成] ウィンドウで、既定の設定を変更するには、差分バックアップに対応する [編集] リンクを選択します。

  9. [ 差分バックアップ ポリシー ] ウィンドウで、次の設定を構成します。

    • [差分バックアップ] で、[有効] を選択します。
    • バックアップの 頻度 とコントロール の保持 については、次の点に注意してください。
      • 差分バックアップは 1 日に 1 回のみトリガーできます。 完全バックアップと同じ日に差分バックアップをトリガーすることはできません。
      • 差分バックアップは、最大 180 日間保持できます。
      • 差分バックアップのリテンション期間は、完全バックアップのリテンション期間より長くすることはできません。差分バックアップは完全バックアップの復旧に依存するためです。
      • 差分バックアップは、マスター データベースではサポートされていません。

    差分バックアップ ポリシーを変更するためのペインを示すスクリーンショット。

  10. [ポリシーの作成] ウィンドウで、既定の設定を変更するには、ログ バックアップに対応する [編集] リンクを選択します。

  11. [ ログ バックアップ ポリシー ] ウィンドウで、次の設定を構成します。

    • [ログ バックアップ] で、[有効] を選択します。
    • バックアップ スケジュール保持期間の設定に関しては、次の点に注意してください。
      • ログ バックアップは、15 分ごとの頻度で実行でき、最大 35 日間保持することが可能です。
      • データベースが 単純復旧モデルの場合、そのデータベースのログ バックアップ スケジュールは一時停止され、ログ バックアップはトリガーされません。
      • データベースの復旧モデルが 完全 から 単純に変更された場合、ログ バックアップは復旧モデルの変更から 24 時間以内に一時停止されます。 同様に、復旧モデルが Simple から変更された場合 (つまり、データベースでログ バックアップをサポートできるようになったことを意味します)、ログ バックアップ スケジュールは復旧モデルの変更から 24 時間以内に有効になります。

    ログ バックアップ ポリシーを変更するためのペインを示すスクリーンショット。

  12. [バックアップ ポリシー] メニューで、[SQL バックアップの圧縮] を有効にするかどうかを選択します。

    既定では、このオプションは無効になっています。 これを有効にすると、SQL Server は圧縮されたバックアップ ストリームを仮想デバイス インターフェイス (VDI) に送信します。 Azure Backup は、このコントロールの値に応じて、インスタンス レベルの既定値を COMPRESSION 句または NO_COMPRESSION 句でオーバーライドします。

  13. バックアップ ポリシーに対する編集が完了したら、[OK] を選択します。

Note

各ログ バックアップは、復旧チェーンを形成するために、以前の完全バックアップにチェーンされています。 この完全バックアップは、最後のログ バックアップのリテンション期間が切れるまで保持されます。 この動作は、すべてのログを確実に回復できるように、完全バックアップが追加の期間保持されることを意味する場合があります。

週単位の完全バックアップ、毎日の差分、2 時間のログがあるとします。 これらのすべてが 30 日間保持されます。 ただし、毎週の完全バックアップは、次の完全バックアップが使用可能になった後にのみクリーンアップまたは削除できます。つまり、30 + 7 日後です。

たとえば、週単位の完全バックアップは 11 月 16 日に行われます。 保持ポリシーに従って、このバックアップは 12 月 16 日まで保持する必要があります。 最後のログ バックアップは、次にスケジュールされた完全バックアップ (11 月 22 日) の前に行われます。 このログ バックアップが 12 月 22 日に利用可能になるまで、11 月 16 日の完全バックアップは削除できません。 そのため、"11 月" 16 日の完全バックアップは "12 月 22 日" まで保持されます。

オンデマンド バックアップを実行する

  1. Recovery Services コンテナーで、バックアップ項目を選択します。

  2. Azure VM で [SQL] を選択します。

  3. データベースを右クリックし、[ 今すぐバックアップ] を選択します。

  4. バックアップの種類を選択します。

    • オンデマンドの完全バックアップ は、少なくとも 45 日間、最大 99 年間保持されます。
    • On-demand copy only full では、保持するすべての値を受け入れます。
    • On-demand differential では、ポリシーに設定されているスケジュールされた差分の保持に基づいてバックアップが保持されます。
    • オンデマンド ログ は、ポリシーで設定されたスケジュールされたログの保持に従ってバックアップを保持します。
  5. 圧縮を有効または無効にするかどうかを選択します。

  6. [ OK] を 選択してバックアップを開始します。

  7. Recovery Services コンテナーに移動し、[バックアップ ジョブ] を選択して、バックアップ ジョブを監視します。

次のステップ

次のチュートリアルに進み、ディスクから Azure 仮想マシンを復元します。