Azure.ResourceManager.Sql を使って、SQL Database の PITR を設定できる。
PITR の保有期間を 14 日間に変更するサンプルは次の通り。
using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Sql; using Azure.ResourceManager.Sql.Models; const string subscriptionId = "サブスクリプションID"; const string resourceGroupName = "リソースグループ名"; const string serverName = "Azure SQL Server リソース名"; const string databaseName = "データベース名"; const int retentionDays = 14; var armClient = new ArmClient(new DefaultAzureCredential()); var id = SqlDatabaseResource.CreateResourceIdentifier( subscriptionId: subscriptionId, resourceGroupName: resourceGroupName, serverName: serverName, databaseName: databaseName); SqlDatabaseResource sqlDatabase = await armClient.GetSqlDatabaseResource(id).GetAsync(); Console.WriteLine(sqlDatabase.Data.Name); BackupShortTermRetentionPolicyResource policy = await sqlDatabase.GetBackupShortTermRetentionPolicyAsync( new ShortTermRetentionPolicyName("default")); Console.WriteLine($"Name:{policy.Data.Name}"); Console.WriteLine($"RetentionDays:{policy.Data.RetentionDays}"); Console.WriteLine($"DiffBackupIntervalInHours:{policy.Data.DiffBackupIntervalInHours}"); Console.WriteLine(); if (policy.Data.RetentionDays != retentionDays) { policy.Data.RetentionDays = retentionDays; var operation = await policy.UpdateAsync( Azure.WaitUntil.Completed, data: policy.Data); var response = await operation.WaitForCompletionAsync(); policy = response.Value; Console.WriteLine($"Name:{policy.Data.Name}"); Console.WriteLine($"RetentionDays:{policy.Data.RetentionDays}"); Console.WriteLine($"DiffBackupIntervalInHours:{policy.Data.DiffBackupIntervalInHours}"); } Console.ReadLine();