すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:SQL Server on Windows 向けアプリケーション整合性スナップショットの作成

最終更新日:May 16, 2026

Windows Server 2019 の ECS インスタンス上で実行されている SQL Server 2019 (64 ビット) について、アプリケーション整合性スナップショットバックアップを検証します。

前提条件

  • ECS インスタンスは ESSD を使用しており、ディスクの マルチアタッチ 機能が無効になっています。

  • ECS インスタンスは 実行中 状態です。インスタンス上のクラウドアシスタントは正常状態です。クラウドアシスタントのステータスを確認するには、「クラウドアシスタントのステータス確認と例外のトラブルシューティング」をご参照ください。

  • Windows SQL Server データベースがインストールされています。

  • アプリケーション整合性スナップショット用のカスタムポリシーを持つ RAM ロールが ECS インスタンスにアタッチされています。「RAM ロールの作成および ECS インスタンスへのアタッチ」をご参照ください。

    説明

    クラウドアシスタントは、ECS インスタンスへのアクセスおよびコマンド実行に特定の権限を必要とします。これらの権限は RAM ロールを通じて付与してください。

    • AppSnapshotRoleName などのカスタム RAM ロールを設定します。

    • RAM ロールにカスタムポリシーをアタッチします。以下のサンプルポリシーでは、スナップショットの照会、スナップショットの作成、タグの追加、ディスク情報の照会の権限が付与されます。

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:DescribeSnapshot*",
                      "ecs:CreateSnapshot*",
                      "ecs:TagResources",
                      "ecs:DescribeDisks"
                  ],
                  "Resource": [
                      "*"
                  ],
                  "Condition": {}
              }
          ]
      }

概要

アプリケーション整合性スナップショットは、書き込み操作を一時停止してデータベースの一貫性のある状態をキャプチャし、復元時のデータ破損や損失のリスクを低減します。

  1. 手順 1:検証用のデータベース環境を準備

    後続の検証のために、連続データ書き込みをシミュレートするデータベーステーブルおよびストアドプロシージャを作成します。

  2. 手順 2:コンソールでアプリケーション整合性スナップショットを作成

    SQL Server をホストする Windows インスタンスのアプリケーション整合性スナップショットを作成します。スナップショット作成中に書き込み操作は一時的に停止されます。

  3. 手順 3:アプリケーション整合性スナップショットが作成されたことを確認

    クラウドアシスタントのコマンド実行結果を確認し、書き込み操作が一時停止および再開されたタイムスタンプを検証します。

  4. 手順 4:アプリケーション整合性スナップショットからのデータ復元を検証

    アプリケーション整合性スナップショットを使用してディスクをロールバックし、最終書き込み時刻と一時停止時刻を比較して、正しく復元されたことを確認します。

    • 最終書き込み時刻が一時停止時刻より前の場合:一時停止中に書き込みは発生していません。復元されたデータベースの状態はスナップショットと整合しています。

    • 最終書き込み時刻が一時停止時刻と同じかそれ以降の場合:一時停止中に書き込みが発生しています。アプリケーション整合性スナップショットは期待どおりに機能していません。

操作手順

手順 1:検証用のデータベース環境を準備

  1. ECS インスタンスに接続します。

  2. SQL Server データベースに接続します。

    1. 左下隅の検索アイコンをクリックし、ssms と入力します。

    2. Microsoft SQL Server Management Studio 18 をクリックします。

    3. サーバーへの接続 ダイアログボックスで接続を設定し、接続 をクリックします。

  3. Microsoft SQL Server Management Studio 18 で検証用データベース (AdventureWorks) を作成します。

    1. 新しいクエリ をクリックします。

    2. クエリウィンドウに次の SQL ステートメントを入力します。

      CREATE DATABASE AdventureWorks;
    3. 実行 をクリックします。

  4. Microsoft SQL Server Management Studio 18 で検証用テーブル (PointInTime) を作成します。

    1. 新しいクエリ をクリックします。

    2. クエリウィンドウに次の SQL ステートメントを入力します。

      USE AdventureWorks
      GO
      IF NOT EXISTS (SELECT name FROM sysobjects WHERE name = 'PointInTime' AND TYPE ='U')
      CREATE TABLE PointInTime (PIT datetime)
      WHILE ( 1 = 1 )
      BEGIN
          INSERT PointInTime SELECT GETDATE()
          WAITFOR DELAY '00:00:001'
      END
    3. 実行 を右クリックします。

  5. 左側のナビゲーションウィンドウで作成されたデータベースおよびテーブルを確認します。

手順 2:コンソールでアプリケーション整合性スナップショットを作成

  1. ECS コンソール - スナップショット整合性グループ に移動します。

  2. ページ左上隅でリージョンおよびリソースグループを選択します。地域

  3. スナップショット整合性グループ タブで、スナップショット整合性グループの作成 をクリックします。

  4. スナップショットの作成 ダイアログボックスで、スナップショット整合性グループを設定します。

    1. リソースタイプ はデフォルトで インスタンス に設定されています。

    2. インスタンスおよびその ESSD タイプのディスクを選択します。

    3. 詳細設定 を展開し、アプリケーション整合性スナップショットの有効化 を選択し、デフォルトライターを含める を選択します。

      説明

      ライターは、ボリューム シャドウ コピー サービス (VSS) アーキテクチャの重要なコンポーネントです。Windows オペレーティングシステムには、バックアップ中にデータ整合性を確保する複数のライターが含まれています。詳細については、「ボリューム シャドウ コピー サービス」をご参照ください。

  5. OK をクリックします。

    クラウドアシスタントが実行 ID を返します。この ID を使用して結果を確認できます。

手順 3:アプリケーション整合性スナップショットが作成されたことを確認

  1. クラウドアシスタントのコマンド実行 ID をクリックして結果を表示します。

    image

    終了コード0 であり、アプリケーション整合性スナップショットコマンドが正常に実行されたことを示しています。出力にはスナップショットおよびスナップショット整合性グループの ID が表示されます。

    説明

    終了コード0 でない場合は、終了コード に基づいてトラブルシューティングを実施してください。「アプリケーション整合性スナップショットの作成」をご参照ください。

  2. クラウドアシスタントの出力で、スナップショット整合性グループの作成プロセスを確認し、データ整合性および可用性を検証します。

    • 整合性コンポーネント (COM+ および VSS) がインストールされているかどうかを確認します。

      image

    • システムがバックアップ対象のすべての論理ボリュームを識別およびロードできるかどうかを確認します。

      image

    • SQL Server データベースが自動的に整合性対象に含まれているかどうかを確認します。

      image

    • スナップショットは 2025-03-03 13:53:30 に作成されました。この時点で書き込み操作が一時停止されました。

      image

  3. スナップショット整合性グループおよびディスクスナップショットの情報を表示します。

    1. ECS コンソール - スナップショット整合性グループ に移動します。

    2. スナップショット整合性グループ タブで、スナップショット整合性グループを見つけ、その ID をクリックします。

    3. スナップショット情報 セクションで、スナップショットタグを確認し、アプリケーション整合性スナップショットが作成されたかどうかを検証します。

      この例では、ディスクスナップショットにタグ APPConsistent:True が付与されており、アプリケーション整合性スナップショットが作成されたことが確認できます。

      image

  4. SQL Server に接続して、データコミットが一時停止された時刻を確認します。

    1. ECS インスタンスに接続します。

      Workbench を使用した Windows インスタンスへのログイン」をご参照ください。

    2. Microsoft SQL Server Management Studio 18 を使用して SQL Server に接続します。

    3. 新しいクエリ をクリックします。

    4. クエリウィンドウに次の SQL ステートメントを入力します。

      USE AdventureWorks
      select * from PointInTime
      GO
    5. 実行 を右クリックします。

    6. クエリ結果で一時停止時間を確認します。

      2025-03-03 13:53:30 から 2025-03-03 13:53:33 の間にデータが挿入されていないため、書き込み操作が 13:53:30 に一時停止され、13:53:33 に再開されたことがわかります。

      image

手順 4:アプリケーション整合性スナップショットからのデータ復元を検証

  1. 作成したスナップショット整合性グループを使用してディスクをロールバックします。

  2. SQL Server に再度ログインし、PointInTime テーブルをクエリします。

    1. ECS インスタンスに接続します。

      Workbench を使用した Windows インスタンスへのログイン」をご参照ください。

    2. Microsoft SQL Server Management Studio 18 を使用して SQL Server に接続します。

    3. 新しいクエリ をクリックします。

    4. クエリウィンドウに次の SQL ステートメントを入力します。

      USE AdventureWorks
      select * from PointInTime
      GO
    5. 実行 をクリックします。

    6. 復元後の最終レコードのタイムスタンプを確認します。

      最後に挿入されたレコードのタイムスタンプは 2025-03-03 13:53:29 で、ステップ 3 の一時停止のタイムスタンプ 2025-03-03 13:53:30 よりも前です。これにより、アプリケーション整合性スナップショットバックアップが正常に完了したことが確認されます。

      image