Azure SQL Data Warehouse のユーザー定義リストアポイント
Microsoft Japan Data Platform Tech Sales Team
大林裕明
2018/6/14 のアップデートで Azure SQL Data Warehouse でユーザー定義のリストアポイントがサポートされるようになりました。
Blog: Quick Recovery Time with SQL Data Warehouse using User-Defined Restore Points https://azure.microsoft.com/en-us/blog/quick-recovery-time-with-sql-data-warehouse-using-user-defined-restore-points/
Azure SQL Data Warehouse のローカルスナップショット バックアップは 8時間の回復ポイントを目標(RPO)に自動作成されています。
スナップショットの作成開始-終了時刻は sys.pdw_loader_backup_runs で確認することができます。
select top 10 *
from sys.pdw_loader_backup_runs
order by run_id desc;
しかし、これではリストアポイントを利用者が決めることができないため、システム回復までに大幅に時間がかかることがあります。
例えば、夜間バッチ処理終了の 3時間後に障害が発生したとします。復元のために使用できるバックアップは、夜間バッチ処理が始まる前に自動で作成されたものしかありません。直近までシステム回復するには、バックアップを復元した後、再度夜間バッチ処理を実行しなくてはなりません。
ユーザー定義のリストアポイントを使えば、夜間バッチ処理終了後に明示的にリストアポイントを指定することで、夜間バッチ処理後のバックアップから速やかに復元することができます。
それでは、ユーザー定義のリストアポイントを設定してみましょう。
ユーザー定義のリストアポイントを使用するには、AzureRM PowerShell 6.2.1 以上が必要になります。
下記のコマンドでバージョンを確認してください。
Get-Module AzureRM -ListAvailable | Select-Object -Property Name,Version,Path
リストアポイントを指定するには下記のコマンドを実行して下さい。
#Create Restore point
New-AzureRmSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -RestorePointLabel $RestorePointName
これで、RetorePoint1 でバックアップが取得されました。
取得されているかを確認してみましょう。
先ほど実行した RestorePoint1 が追加されていることができました。
Azure Portal から復元ポイントを見てみましょう。
復元ポイントに RestorePoint1 の日時が表示されています。
是非 Azure SQL Data Warehouse の運用に追加していただければと思います。
New-AzureRmSqlDatabaseRestorePoint コマンドのリファレンス