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": {} } ] }
概要
アプリケーション整合性スナップショットは、書き込み操作を一時停止してデータベースの一貫性のある状態をキャプチャし、復元時のデータ破損や損失のリスクを低減します。
-
後続の検証のために、連続データ書き込みをシミュレートするデータベーステーブルおよびストアドプロシージャを作成します。
-
手順 2:コンソールでアプリケーション整合性スナップショットを作成
SQL Server をホストする Windows インスタンスのアプリケーション整合性スナップショットを作成します。スナップショット作成中に書き込み操作は一時的に停止されます。
-
手順 3:アプリケーション整合性スナップショットが作成されたことを確認
クラウドアシスタントのコマンド実行結果を確認し、書き込み操作が一時停止および再開されたタイムスタンプを検証します。
-
手順 4:アプリケーション整合性スナップショットからのデータ復元を検証
アプリケーション整合性スナップショットを使用してディスクをロールバックし、最終書き込み時刻と一時停止時刻を比較して、正しく復元されたことを確認します。
-
最終書き込み時刻が一時停止時刻より前の場合:一時停止中に書き込みは発生していません。復元されたデータベースの状態はスナップショットと整合しています。
-
最終書き込み時刻が一時停止時刻と同じかそれ以降の場合:一時停止中に書き込みが発生しています。アプリケーション整合性スナップショットは期待どおりに機能していません。
-
操作手順
手順 1:検証用のデータベース環境を準備
-
ECS インスタンスに接続します。
「Workbench を使用した Windows インスタンスへのログイン」をご参照ください。
-
SQL Server データベースに接続します。
-
左下隅の検索アイコンをクリックし、
ssmsと入力します。 -
Microsoft SQL Server Management Studio 18 をクリックします。
-
サーバーへの接続 ダイアログボックスで接続を設定し、接続 をクリックします。
-
-
Microsoft SQL Server Management Studio 18 で検証用データベース (AdventureWorks) を作成します。
-
新しいクエリ をクリックします。
-
クエリウィンドウに次の SQL ステートメントを入力します。
CREATE DATABASE AdventureWorks; -
実行 をクリックします。
-
-
Microsoft SQL Server Management Studio 18 で検証用テーブル (PointInTime) を作成します。
-
新しいクエリ をクリックします。
-
クエリウィンドウに次の 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 -
実行 を右クリックします。
-
-
左側のナビゲーションウィンドウで作成されたデータベースおよびテーブルを確認します。
手順 2:コンソールでアプリケーション整合性スナップショットを作成
ECS コンソール - スナップショット整合性グループ に移動します。
ページ左上隅でリージョンおよびリソースグループを選択します。
-
スナップショット整合性グループ タブで、スナップショット整合性グループの作成 をクリックします。
-
スナップショットの作成 ダイアログボックスで、スナップショット整合性グループを設定します。
-
リソースタイプ はデフォルトで インスタンス に設定されています。
-
インスタンスおよびその ESSD タイプのディスクを選択します。
-
詳細設定 を展開し、アプリケーション整合性スナップショットの有効化 を選択し、デフォルトライターを含める を選択します。
説明ライターは、ボリューム シャドウ コピー サービス (VSS) アーキテクチャの重要なコンポーネントです。Windows オペレーティングシステムには、バックアップ中にデータ整合性を確保する複数のライターが含まれています。詳細については、「ボリューム シャドウ コピー サービス」をご参照ください。
-
-
OK をクリックします。
クラウドアシスタントが実行 ID を返します。この ID を使用して結果を確認できます。
手順 3:アプリケーション整合性スナップショットが作成されたことを確認
-
クラウドアシスタントのコマンド実行 ID をクリックして結果を表示します。

終了コード は
0であり、アプリケーション整合性スナップショットコマンドが正常に実行されたことを示しています。出力にはスナップショットおよびスナップショット整合性グループの ID が表示されます。説明終了コード が
0でない場合は、終了コード に基づいてトラブルシューティングを実施してください。「アプリケーション整合性スナップショットの作成」をご参照ください。 -
クラウドアシスタントの出力で、スナップショット整合性グループの作成プロセスを確認し、データ整合性および可用性を検証します。
-
整合性コンポーネント (COM+ および VSS) がインストールされているかどうかを確認します。

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

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

-
スナップショットは
2025-03-03 13:53:30に作成されました。この時点で書き込み操作が一時停止されました。
-
-
スナップショット整合性グループおよびディスクスナップショットの情報を表示します。
ECS コンソール - スナップショット整合性グループ に移動します。
-
スナップショット整合性グループ タブで、スナップショット整合性グループを見つけ、その ID をクリックします。
-
スナップショット情報 セクションで、スナップショットタグを確認し、アプリケーション整合性スナップショットが作成されたかどうかを検証します。
この例では、ディスクスナップショットにタグ
APPConsistent:Trueが付与されており、アプリケーション整合性スナップショットが作成されたことが確認できます。
-
SQL Server に接続して、データコミットが一時停止された時刻を確認します。
-
ECS インスタンスに接続します。
「Workbench を使用した Windows インスタンスへのログイン」をご参照ください。
-
Microsoft SQL Server Management Studio 18 を使用して SQL Server に接続します。
-
新しいクエリ をクリックします。
-
クエリウィンドウに次の SQL ステートメントを入力します。
USE AdventureWorks select * from PointInTime GO -
実行 を右クリックします。
-
クエリ結果で一時停止時間を確認します。
2025-03-03 13:53:30から2025-03-03 13:53:33の間にデータが挿入されていないため、書き込み操作が13:53:30に一時停止され、13:53:33に再開されたことがわかります。
-
手順 4:アプリケーション整合性スナップショットからのデータ復元を検証
-
作成したスナップショット整合性グループを使用してディスクをロールバックします。
「スナップショット整合性グループを使用したディスクのロールバック」をご参照ください。
-
SQL Server に再度ログインし、PointInTime テーブルをクエリします。
-
ECS インスタンスに接続します。
「Workbench を使用した Windows インスタンスへのログイン」をご参照ください。
-
Microsoft SQL Server Management Studio 18 を使用して SQL Server に接続します。
-
新しいクエリ をクリックします。
-
クエリウィンドウに次の SQL ステートメントを入力します。
USE AdventureWorks select * from PointInTime GO -
実行 をクリックします。
-
復元後の最終レコードのタイムスタンプを確認します。
最後に挿入されたレコードのタイムスタンプは
2025-03-03 13:53:29で、ステップ 3 の一時停止のタイムスタンプ2025-03-03 13:53:30よりも前です。これにより、アプリケーション整合性スナップショットバックアップが正常に完了したことが確認されます。
-