削除されたコンテナーまたはデータベースを同じ Azure Cosmos DB アカウントに復元する
- [アーティクル]
適用対象: NoSQL MongoDB Gremlin Table
Azure Cosmos DB のポイントインタイム同一アカウント リストア機能は、データベースまたはコンテナーを誤って削除した場合の復旧に役立ちます。 この機能は、削除されたデータベースまたはコンテナーを、バックアップが存在する任意のリージョンの同じ既存アカウントに復元します。 継続的バックアップ モードにより、過去 30 日以内の任意の時点に復元できます。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。
- Azure Cosmos DB アカウント。 Azure Cosmos DB アカウントについては、次のいずれかのオプションを選択できます。
- 既存の Azure Cosmos DB アカウントを使用する。
- Azure サブスクリプションで 新しい Azure Cosmos DB アカウント を作成する。
- コミットメントなしで Azure Cosmos DB 試用版無料 アカウントを作成します。
削除されたコンテナーまたはデータベースを復元する
削除されたコンテナーまたはデータベースを同じ既存アカウントに復元するには、Azure portal、Azure CLI、Azure PowerShell、または Azure Resource Manager テンプレートを使用します。
Azure portal を使用して、削除されたコンテナーまたはデータベースを復元します。 子コンテナーも復元されます。
Azure ポータルにアクセスします。
Azure Cosmos DB アカウントに移動して、[ポイントインタイム リストア] ページを開きます。
Note
Azure portal の [復元] ページは、
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
アクセス許可を持っている場合にのみ設定されます。 このアクセス許可の詳細については、バックアップとリストアのアクセス許可に関する記事を参照してください。[Restore to same account](同じアカウントに復元) タブに切り替えます。
[データベース] に、イベント フィードを関連するコンテナーまたはデータベースの削除イベントにフィルター処理するための検索クエリを入力ます。
次に、[Start] (開始) と [End] (終了) の値を指定して、削除イベントのフィルター処理に使用する時間枠を作成します。
注意
[Start] (開始) フィルターは、現在の日付の最大 30 日前までに制限されます。
[更新] を選択して、さまざまなリソースの種類に対するイベントの一覧をフィルターが適用された状態に更新します。
時間を確認し、[復元] を選択して、選択した削除済みリソースの復元を開始します。
重要
同じアカウントで同時にアクティブにできる復元操作は 3 つ以下です。 復元操作の進行中にソース アカウントを削除すると、復元操作に失敗することがあります。
Note
イベント フィードには、リソースが [復元不可] と表示されます。 フィードには、リソースを復元できない理由の詳細情報が表示されます。 ほとんどの場合、データベースの子コンテナーを復元する前に、親データベースを復元する必要があります。
復元操作を開始した後、Azure portal の通知領域を使用して操作を追跡します。 この通知は、復元されているリソースの状態を知らせます。 復元の進行中は、コンテナーのステータスは [作成中] です。 復元操作が完了すると、状態は [オンライン] に変わります。
Azure CLI を使用して、削除されたコンテナーまたはデータベースを復元します。 子コンテナーも復元されます。
重要
アカウント内復元コマンドにアクセスするには、Azure CLI バージョン 2.58.0 以降が必要です。
az cosmosdb restorable-database-account list を使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb sql restoreable-database list を使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
az cosmosdb sql restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
Note
すべての復元可能なデータベース削除イベントを一覧表示すると、実際の存在時間が不明なシナリオにおいて、正しいデータベースを選択できます。 イベント フィードの応答に削除操作の種類が含まれている場合、それは削除されたデータベースであり、同じアカウント内に復元できます。 復元タイムスタンプは、削除タイムスタンプ以前かつ保持期間内の任意のタイムスタンプに設定できます。
az cosmosdb sql restorable-container list を使用して、特定のデータベース内の復元可能なコンテナーのすべてのバージョンを一覧表示します。
az cosmosdb sql restorable-container list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
Note
すべての復元可能なデータベース削除イベントを一覧表示すると、実際の存在時間が不明なシナリオにおいて、正しいコンテナーを選択できます。 イベント フィードの応答に削除操作の種類が含まれている場合、それは削除されたコンテナーであり、同じアカウント内に復元できます。 復元タイムスタンプは、削除タイムスタンプ以前かつ保持期間内の任意のタイムスタンプに設定できます。
az cosmosdb sql database restore を使用して、削除されたデータベースの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、データベースの最後に削除されたインスタンスが復元されます。
az cosmosdb sql database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb sql container restore を使用して、削除されたコンテナーの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、コンテナーの最後に削除されたインスタンスが復元されます。
az cosmosdb sql container restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <container-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list を使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb mongodb restoreable-database list を使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
az cosmosdb mongodb restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb mongodb restoreable-collection list を使用して、特定のデータベース内の復元可能なコレクションのすべてのバージョンを一覧表示します。
az cosmosdb mongodb restorable-collection list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
az cosmosdb mongodb database restore を使用して、削除されたデータベースの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、データベースの最後に削除されたインスタンスが復元されます。
az cosmosdb mongodb database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> --disable-ttl True
az cosmosdb mongodb collection restore を使用して、削除されたコレクションの復元操作を開始します。コレクションの最後に削除されたインスタンスが復元されない場合、復元タイムスタンプは省略可能です。
az cosmosdb mongodb collection restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <container-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list を使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb gremlin restoreable-database list を使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
az cosmosdb gremlin restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb gremlin restoreable-graph list を使用して、特定のデータベース内のすべてのバージョンの復元可能なグラフを一覧表示します。
az cosmosdb gremlin restorable-graph list \ --instance-id <instance-id-of-account> \ --database-rid <owner-resource-id-of-database> \ --location <location>
az cosmosdb gremlin database restore を使用して、削除されたデータベースの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、データベースの最後に削除されたインスタンスが復元されます。
az cosmosdb gremlin database restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --name <database-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb gremlin graph restore を使用して、削除されたグラフの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、グラフの最後に削除されたインスタンスが復元されます。
az cosmosdb gremlin graph restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --database-name <database-name> \ --name <graph-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
az cosmosdb restorable-database-account list を使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
az cosmosdb restorable-database-account list \ --account-name <name-of-account>
[ { "accountName": "deleted-account-1", "apiType": "Sql", "creationTime": "2020-08-02T22:23:00.095870+00:00", "deletionTime": "2020-08-02T22:26:13.483175+00:00", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234", "location": "West US", "name": "abcd1234-d1c0-4645-a699-abcd1234", "restorableLocations": [ { "locationName": "West US" }, { "locationName": "East US" } ] } ]
az cosmosdb table restoreable-table list を使用して、ライブ アカウントの復元可能なすべてのバージョンのテーブルを一覧表示します。
az cosmosdb table restorable-table list \ --instance-id <instance-id-of-account> \ --location <location>
az cosmosdb table restore を使用して、削除されたテーブルの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、テーブルの最後に削除されたインスタンスが復元されます。
az cosmosdb table restore \ --resource-group <resource-group-name> \ --account-name <account-name> \ --table-name <table-name> \ --restore-timestamp <timestamp> \ --disable-ttl True
Azure PowerShell を使用して、削除されたコンテナーまたはデータベースを復元します。 子コンテナーとデータベースも復元されます。
重要
アカウント内復元コマンドレットにアクセスするには、Azure PowerShell バージョン 1.14.1 以降の Az.Cosmos DB モジュールが必要です。
[Get-AzCosmosDBRestorableDatabaseAccount](/powershell/module/az.cosmosdb/get-azCosmos DBrestorabledatabaseaccount) コマンドレットを使用して、すべてのライブおよび削除された復元可能なデータベース アカウントの一覧を取得します。
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
Note
アカウントには
CreationTime
フィールドまたはDeletionTime
フィールドがあります。 これらのフィールドは、リージョンにも存在します。 これらの時間によって、リソースを復元するときに使用する適切なリージョンと有効な時間範囲を選択できます。Get-AzCosmosDBSqlRestorableDatabase コマンドレットを使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBSqlRestorableDatabase @parameters
注意
すべての復元可能なデータベース削除イベントを一覧表示すると、実際の存在時間が不明なシナリオにおいて、正しいデータベースを選択できます。 イベント フィードの応答に削除操作の種類が含まれている場合、それは削除されたデータベースであり、同じアカウント内に復元できます。 復元タイムスタンプは、削除タイムスタンプの前および保持期間内の任意のタイムスタンプに設定できます。
Get-AzCosmosDBSqlRestorableContainer コマンドレットを使用して、特定のデータベース内の復元可能なコンテナーのすべてのバージョンを一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBSqlRestorableContainer @parameters
注意
すべての復元可能なデータベース削除イベントを一覧表示すると、実際の存在時間が不明なシナリオにおいて、正しいコンテナーを選択できます。 イベント フィードの応答に削除操作の種類が含まれている場合、それは削除されたコンテナーであり、同じアカウント内に復元できます。 復元タイムスタンプは、削除タイムスタンプの前および保持期間内の任意のタイムスタンプに設定できます。
Restore-AzCosmos DBSqlDatabase コマンドレットを使用して、削除されたデータベースの復元操作を開始します。 復元タイムスタンプは省略可能です。 このタイムスタンプがない場合、データベースの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" } Restore-AzCosmos DBSqlDatabase @parameters
Restore-AzCosmos DBSqlContainer コマンドレットを使用して、削除されたコンテナーの復元操作を開始します。 復元タイムスタンプは省略可能です。 このタイムスタンプがない場合、コンテナーの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<container-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl= $true } Restore-AzCosmos DBSqlContainer @parameters
Get-AzCosmosDBRestorableDatabaseAccount コマンドレットを使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
Note
アカウントには
CreationTime
フィールドまたはDeletionTime
フィールドがあります。 これらのフィールドは、リージョンにも存在します。 これらの時間によって、リソースを復元するときに使用する適切なリージョンと有効な時間範囲を選択できます。Get-AzCosmosDBMongoDBRestorableDatabase コマンドレットを使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableDatabase @parameters
Get-AzCosmosDBMongoDBRestorableCollection コマンドレットを使用して、特定のデータベース内の復元可能なコレクションのバージョンをすべて一覧表示します。 復元タイムスタンプは省略可能です。 このタイムスタンプがない場合は、コレクションの最後に削除されたインスタンスが復元されます。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableCollection @parameters
Restore-AzCosmos DBMongoDBDatabase コマンドレットを使用して、削除されたデータベースの復元操作を開始します。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBDatabase @parameters
Restore-AzCosmos DBMongoDBCollection コマンドレットを使用して、削除されたコレクションの復元操作を開始します。 復元タイムスタンプは省略可能です。指定されていない場合、コレクションの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<collection-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBCollection @parameters
Get-AzCosmosDBRestorableDatabaseAccount コマンドレットを使用して、すべてのライブおよび削除済みの復元可能なデータベース アカウントの一覧を取得します。
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
Note
アカウントには
CreationTime
フィールドまたはDeletionTime
フィールドがあります。 これらのフィールドは、リージョンにも存在します。 これらの時間によって、リソースを復元するときに使用する適切なリージョンと有効な時間範囲を選択できます。Get-AzCosmosDBGremlinRestorableDatabase コマンドレットを使用して、ライブ アカウントのデータベースの復元可能なバージョンをすべて一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableDatabase @parameters
Get-AzCosmosDBGremlinRestorableGraph コマンドレットを使用して、特定のデータベースにある復元可能なグラフのバージョンをすべて一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableGraph @parameters
Restore-AzCosmos DBGremlinDatabase コマンドレットを使用して削除されたデータベースの復元操作を開始します。復元タイムスタンプは省略可能です。指定されていない場合、データベースの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBGremlinDatabase @parameters
Restore-AzCosmos DBGremlinGraph コマンドレットを使用して、削除されたグラフの復元操作を開始します。復元タイムスタンプは省略可能です。指定されていない場合、グラフの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<graph-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBGremlinGraph @parameters
[Get-AzCosmosDBRestorableDatabaseAccount](/powershell/module/az.cosmosdb/get-azCosmos DBrestorabledatabaseaccount) コマンドレットを使用して、すべてのライブおよび削除された復元可能なデータベース アカウントの一覧を取得します。
Get-AzCosmosDBRestorableDatabaseAccount
Id : /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234 DatabaseAccountInstanceId : abcd1234-d1c0-4645-a699-abcd1234 Location : West US DatabaseAccountName : deleted-account-1 CreationTime : 8/2/2020 10:23:00 PM DeletionTime : 8/2/2020 10:26:13 PM ApiType : Sql RestorableLocations : {West US, East US}
Note
アカウントには
CreationTime
フィールドまたはDeletionTime
フィールドがあります。 これらのフィールドは、リージョンにも存在します。 これらの時間によって、リソースを復元するときに使用する適切なリージョンと有効な時間範囲を選択できます。[Get-AzCosmosDBTableRestorableTable](/powershell/module/az.cosmosdb/get-azCosmos DBtablerestorabletable) コマンドレットを使用して、ライブ アカウントのテーブルの復元可能なバージョンをすべて一覧表示します。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBTableRestorableTable @parameters
Restore-AzCosmos DBTable コマンドレットを使用して削除されたテーブルの復元操作を開始します。復元タイムスタンプは省略可能です。指定されていない場合、テーブルの最後に削除されたインスタンスが復元されます。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<table-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBTable @parameters
Azure Resource Manager テンプレートを使用して、削除されたコンテナーとデータベースを復元できます。
テンプレートで Azure Cosmos DB リソースを作成または検索します。 リソースの一般的な例を次に示します。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "name": "msdocs-example-arm", "type": "Microsoft.DocumentDB/databaseAccounts", "apiVersion": "2022-02-15-preview", "location": "West US", "properties": { "locations": [ { "locationName": "West US" } ], "backupPolicy": { "type": "Continuous" }, "databaseAccountOfferType": "Standard" } } ] }
次の方法で、テンプレート内の Azure Cosmos DB リソースを更新します。
properties.createMode
をrestore
に設定します。properties.restoreParameters
オブジェクトを定義します。properties.restoreParameters.restoreTimestampInUtc
を UTC タイム スタンプに設定します。properties.restoreParameters.restoreSource
を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{ "properties": { "name": "<name-of-database-or-container>", "restoreParameters": { "restoreSource": "<source-account-instance-id>", "restoreTimestampInUtc": "<timestamp>", "restoreWithTtlDisabled": "true" }, "createMode": "Restore" } }
SQL コンテナーを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>/<containername>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- コンテナー名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources":[{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<containername>",
"properties": {
"resource": {
"id": "<containername>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
sql データベースを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- データベース名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-collection>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
mongo コレクションを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>/<collectionname>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- コレクション名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/ mongoDBDatabases/collections",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<collectionname>",
"properties": {
"resource": {
"id": "<collectionname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
mongo データベースを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- データベース名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/mongoDBDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-database-or-graph>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
gremlin グラフを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>/<graphname>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- グラフ名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs",
"apiVersion": "2023-11-15",
"name": "<accountname>/<databasename>/<graphname>",
"properties": {
"resource": {
"id": "<graphname>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionid>/providers/Microsoft.DocumentDB/locations/<lowercaselocationwithoutspace>/restorableDatabaseAccounts/<databaseaccountinstanceId>",
"restoreTimestampInUtc": "<restore timestamp is utc iso format>"
},
"createMode": "Restore"
}
}
}
]
}
gremlin データベースを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/databasename>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- データベース名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
"apiVersion": "2023-11-15",
"name": "<account name>/<database name>",
"properties": {
"resource": {
"id": "<database name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
{
"properties": {
"name": "<name-of-table>",
"restoreParameters": {
"restoreSource": "<source-account-instance-id>",
"restoreTimestampInUtc": "<timestamp>",
"restoreWithTtlDisabled": "true"
},
"createMode": "Restore"
}
}
テーブルを復元するには、以下のテンプレートを次のように更新します。
- resources.name を
<accountname>/tablename>
に設定します - 復元する resources.properties.resource.createMode を設定します。
- テーブル名 resources.properties.resource.restoreParameters.id を設定します。
- resources.properties.resource.restoreParameters.restoreTimestampInUtc を UTC タイム スタンプに設定します。
- resources.properties.resource.restoreParameters.restoreSource を、復元操作のソースであるアカウントのインスタンス識別子に設定します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts/tables",
"apiVersion": "2023-11-15",
"name": "<account name>/<table name>",
"properties": {
"resource": {
"id": "<table name>",
"restoreParameters": {
"restoreSource": "/subscriptions/<subscriptionId>/providers/Microsoft.DocumentDB/locations/<location>/restorableDatabaseAccounts/<databaseaccountinstanceid>",
"restoreTimestampInUtc": "restore timestamp"
},
"createMode": "Restore"
}
}
}
]
}
Note
ライブおよび削除されたすべての復元可能なデータベース アカウントのインスタンス識別子の一覧を取得するには、az cosmosdb restorable-database-account list を使用します。
az deployment group create を使用してテンプレートをデプロイします。
az deployment group create \ --resource-group <resource-group-name> \ --template-file <template-filename>
復元操作の状態を追跡する
削除されたコンテナーまたはデータベースに対してポイントインタイム リストアが開始されると、その操作はリソースに対する InAccount 復元操作として識別されます。
特定のリソースの復元操作の一覧を取得するには、InAccount Restore Deleted 検索フィルターと時間フィルターを使用して、アカウントのアクティビティ ログをフィルター処理します。 返される一覧には、復元操作を開始したユーザーを識別する UserPrincipalName が含まれます。 アクティビティ ログにアクセスする方法の詳細については、「ポイントインタイム リストア アクションの監査」に関する記事を参照してください。
現在、アカウントのアクティビティ ログを取得するには、Azure portal を使用する必要があります。 InAccount Restore Deleted 検索フィルターと時間フィルターを使用します。
現在、アカウントのアクティビティ ログを取得するには、Azure portal を使用する必要があります。 InAccount Restore Deleted 検索フィルターと時間フィルターを使用します。
現在、アカウントのアクティビティ ログを取得するには、Azure portal を使用する必要があります。 InAccount Restore Deleted 検索フィルターと時間フィルターを使用します。
次の手順
- Azure portal、Azure PowerShell、Azure CLI または Azure Resource Manager を使い、継続的バックアップを有効化する。
- 定期的なバックアップから継続的バックアップにアカウントを移行する方法を確認する。
- 継続的バックアップ モードのリソース モデルを確認する。
- 継続的バックアップ モードを使用してデータを復元するために必要なアクセス許可を管理する。
フィードバック
このページはお役に立ちましたか?