將已刪除的容器或資料庫還原至相同的 Azure Cosmos DB 帳戶
- 發行項
適用於:NoSQL MongoDB Gremlin 桌子
Azure Cosmos DB 時間點相同帳戶還原功能可協助您從意外刪除容器或資料庫的情況中復原。 此功能會將已刪除的資料庫或容器還原到備份存在的任何區域中的相同現有帳戶。 連續備份模式可讓您還原到最近 30 天內的任何時間點。
必要條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶。
- Azure Cosmos DB 帳戶。 您可為 Azure Cosmos DB 帳戶選擇下列其中一個選項:
- 使用現有的 Azure Cosmos DB 帳戶。
- 在 Azure 訂用帳戶中建立新的 Azure Cosmos DB 帳戶。
- 建立沒有任何承諾用量的免費試用 Azure Cosmos DB 帳戶。
還原已刪除的容器或資料庫
使用 Azure 入口網站、Azure CLI、Azure PowerShell 或 Azure Resource Manager 範本,在相同的現有帳戶中還原已刪除的容器或資料庫。
使用 Azure 入口網站還原已刪除的容器或資料庫。 子容器也會還原。
前往 Azure 入口網站。
移至 Azure Cosmos DB 帳戶,然後移至 [時間點還原] 頁面。
注意
只有在您擁有
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
權限時,系統才會在 Azure 入口網站中填入還原頁面。 若要深入了解該權限,請參閱備份和還原權限。選取 [還原至相同的帳戶] 索引標籤。
在 [資料庫] 中,輸入搜尋查詢來篩選事件摘要,以尋找容器或資料庫的相關刪除事件。
接下來,指定 [開始] 和 [結束] 值,以建立用來篩選刪除事件的時間範圍。
注意
[開始] 篩選條件限制為目前日期之前最多 30 天。
選取 [重新整理],更新套用篩選條件之不同資源類型的事件清單。
確認時間,然後選取 [還原],開始還原先前已刪除的選取資源。
重要
同一帳戶上任何時間最多只能執行三個還原作業。 在還原作業進行時刪除來源帳戶可能會導致還原作業失敗。
注意
事件摘要會將資源顯示為 [無法還原]。 該摘要提供關於資源無法還原之原因的詳細資訊。 在大部分情況下,您必須先還原父代資料庫,然後才能還原任何資料庫子容器。
起始還原作業後,請使用 Azure 入口網站的通知區域來追蹤作業。 該通知會提供正在還原的資源的狀態。 還原過程中,容器的狀態為 [正在建立]。 還原作業完成後,狀態會變更為 [連線]。
使用 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 Restorable-database list 列出作用中帳戶的所有可還原資料庫版本:
az cosmosdb sql restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
注意
列出所有可還原的資料庫刪除事件,可讓您在實際資料庫存在時間未知的情況下選擇正確的資料庫。 如果事件摘要的回應中包含 [刪除] 作業類型,則其是已刪除的資料庫,並且可在同一帳戶中還原。 還原時間戳記可以設定為刪除時間戳記之前和保留時間範圍內的任何時間戳記。
使用 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>
注意
列出所有可還原的資料庫刪除事件,可讓您在實際資料庫存在時間未知的情況下選擇正確的容器。 如果事件摘要的回應中包含 [刪除] 作業類型,則其是已刪除的容器,並且可在同一帳戶中還原。 還原時間戳記可以設定為刪除時間戳記之前和保留時間範圍內的任何時間戳記。
使用 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 restorable-database list 列出作用中帳戶的所有可還原資料庫版本:
az cosmosdb mongodb restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
使用 az cosmosdb mongodb Restorable-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 集合 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 Restorable-database list 列出作用中帳戶的所有可還原資料庫版本:
az cosmosdb gremlin restorable-database list \ --instance-id <instance-id-of-account> \ --location <location>
使用 az cosmosdb gremlin restorable-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 資料庫還原,起始已刪除資料庫的還原作業。 還原時間戳是選擇性的,如果未提供上次刪除的資料庫實例還原。
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 Restorable-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 模組,才能存取帳戶內還原 Cmdlet。
使用 [Get-AzCosmosDBRestorableDatabaseAccount](/powershell/module/az.cosmosdb/get-azCosmos DBrestorabledatabaseaccount) Cmdlet 擷取所有即時和已刪除可還原的資料庫帳戶清單:
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}
注意
帳戶具有
CreationTime
或DeletionTime
欄位。 這些欄位也存在於區域中。 您不妨參考這些時間來選擇還原資源時要使用的正確區域和有效時間範圍。使用 Get-AzCosmosDBSqlRestorableDatabase Cmdlet 列出作用中帳戶的所有可還原資料庫版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBSqlRestorableDatabase @parameters
注意
列出所有可還原的資料庫刪除事件,可讓您在實際資料庫存在時間未知的情況下選擇正確的資料庫。 如果事件摘要的回應中包含 [刪除] 作業類型,則其是已刪除的資料庫,並且可在同一帳戶中還原。 還原時間戳記可以設定為刪除時間戳記之前和保留時間範圍內的任何時間戳記。
使用 Get-AzCosmosDBSqlRestorableContainer Cmdlet 列出特定資料庫中的所有可還原容器版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBSqlRestorableContainer @parameters
注意
列出所有可還原的資料庫刪除事件,可讓您在實際資料庫存在時間未知的情況下選擇正確的容器。 如果事件摘要的回應中包含 [刪除] 作業類型,則其是已刪除的容器,並且可在同一帳戶中還原。 還原時間戳記可以設定為刪除時間戳記之前和保留時間範圍內的任何時間戳記。
使用 Restore-AzCosmos DBSqlDatabase Cmdlet 起始已刪除資料庫的還原作業。 還原時間戳是選擇性的。 如果沒有這個時間戳,最後刪除的資料庫實例就會還原。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" } Restore-AzCosmos DBSqlDatabase @parameters
使用 Restore-AzCosmos DBSqlContainer Cmdlet 起始已刪除容器的還原作業。 還原時間戳是選擇性的。 如果沒有此時間戳,最後刪除的容器實例就會還原。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<container-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl= $true } Restore-AzCosmos DBSqlContainer @parameters
使用 Get-AzCosmosDBRestorableDatabaseAccount Cmdlet 擷取所有作用中和已刪除的可還原資料庫帳戶的清單:
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}
注意
帳戶具有
CreationTime
或DeletionTime
欄位。 這些欄位也存在於區域中。 您不妨參考這些時間來選擇還原資源時要使用的正確區域和有效時間範圍。使用 Get-AzCosmosDBMongoDBRestorableDatabase 列出實時帳戶所有可還原的資料庫版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableDatabase @parameters
使用 Get-AzCosmosDBMongoDBRestorableCollection Cmdlet 來列出特定資料庫中可還原集合的所有版本。 還原時間戳是選擇性的。 如果沒有這個時間戳,最後刪除的集合實例就會還原。
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBMongoDBRestorableCollection @parameters
使用 Restore-AzCosmos DBMongoDBDatabase Cmdlet 起始已刪除資料庫的還原作業:
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBDatabase @parameters
使用 Restore-AzCosmos DBMongoDBCollection Cmdlet 起始已刪除集合的還原作業。 還原時間戳是選擇性的,如果未提供上次刪除的集合實例,則會還原。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" DatabaseName = "<database-name>" Name = "<collection-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBMongoDBCollection @parameters
使用 Get-AzCosmosDBRestorableDatabaseAccount Cmdlet 擷取所有作用中和已刪除的可還原資料庫帳戶的清單:
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}
注意
帳戶具有
CreationTime
或DeletionTime
欄位。 這些欄位也存在於區域中。 您不妨參考這些時間來選擇還原資源時要使用的正確區域和有效時間範圍。使用 Get-AzCosmosDBGremlinRestorableDatabase Cmdlet 列出實時帳戶所有可還原的資料庫版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableDatabase @parameters
使用 Get-AzCosmosDBGremlinRestorableGraph Cmdlet 來列出特定資料庫中所有可還原圖形的版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBGremlinRestorableGraph @parameters
使用 Restore-AzCosmos DBGremlinDatabase Cmdlet 起始已刪除資料庫的還原作業,如果未提供上次刪除的資料庫實例,還原時間戳是選擇性的。
$parameters = @{ ResourceGroupName = "<resource-group-name>" AccountName = "<account-name>" Name = "<database-name>" RestoreTimestampInUtc = "<timestamp>" DisableTtl=$true } Restore-AzCosmos DBGremlinDatabase @parameters
使用 Restore-AzCosmos DBGremlinGraph Cmdlet 起始已刪除圖形的還原作業,如果未提供上次刪除的圖形實例,還原時間戳是選擇性的。
$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) Cmdlet 擷取所有即時和已刪除可還原的資料庫帳戶清單:
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}
注意
帳戶具有
CreationTime
或DeletionTime
欄位。 這些欄位也存在於區域中。 您不妨參考這些時間來選擇還原資源時要使用的正確區域和有效時間範圍。使用 [Get-AzCosmosDBTableRestorableTable](/powershell/module/az.cosmosdb/get-azCosmos DBtablerestorabletable) Cmdlet 來列出實時帳戶的所有可還原數據表版本:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBTableRestorableTable @parameters
使用 Restore-AzCosmos DBTable Cmdlet 起始已刪除數據表的還原作業,如果未提供上次刪除的數據表實例,還原時間戳是選擇性的。
$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"
}
}
}
]
}
注意
使用 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 入口網站。 使用 InAccount Restore Deleted 搜尋篩選條件和時間篩選條件。
目前,要取得帳戶的活動記錄,您必須使用 Azure 入口網站。 使用 InAccount Restore Deleted 搜尋篩選條件和時間篩選條件。
目前,要取得帳戶的活動記錄,您必須使用 Azure 入口網站。 使用 InAccount Restore Deleted 搜尋篩選條件和時間篩選條件。
下一步
- 使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 Azure Resource Manager 啟用連續備份。
- 了解如何將帳戶從定期備份移轉至連續備份。
- 檢閱連續備份模式資源模型。
- 使用連續備份模式管理還原資料所需的權限。
意見反應
此頁面對您有幫助嗎?