Восстановление удаленного контейнера или базы данных в той же учетной записи Azure Cosmos DB
- Статья
Область применения: Nosql
Mongodb
Гремлин
Таблица
Функция восстановления одной и той же учетной записи Azure Cosmos DB помогает восстановиться после случайного удаления контейнера или базы данных. Эта функция восстанавливает удаленную базу данных или контейнер до той же учетной записи, существующей в любом регионе, в котором существуют резервные копии. Режим непрерывного резервного копирования позволяет восстановить любое время за последние 30 дней.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- Учетная запись Azure Cosmos DB. Вы можете выбрать один из следующих вариантов для учетной записи Azure Cosmos DB:
- Используйте существующую учетную запись Azure Cosmos DB.
- Создайте учетную запись Azure Cosmos DB в подписке Azure.
- Создайте бесплатную учетную запись Azure Cosmos DB без обязательств.
Восстановление удаленного контейнера или базы данных
Используйте портал Azure, Azure CLI, Azure PowerShell или шаблон Azure Resource Manager для восстановления удаленного контейнера или базы данных в той же учетной записи.
Используйте портал Azure для восстановления удаленного контейнера или базы данных. Дочерние контейнеры также восстанавливаются.
Переход на портал Azure.
Перейдите к учетной записи Azure Cosmos DB и перейдите на страницу восстановления точки во времени.
Примечание.
Страница восстановления в портал Azure заполняется только в том случае, если у вас есть
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
разрешение. Дополнительные сведения об этом разрешении см. в статье "Резервное копирование и восстановление".Выберите вкладку "Восстановить" на той же вкладке учетной записи .
Для базы данных введите поисковый запрос, чтобы отфильтровать веб-канал событий для соответствующих событий удаления для контейнера или базы данных.
Затем укажите значения "Пуск " и "Конец ", чтобы создать временное окно для фильтрации событий удаления.
Примечание.
Фильтр "Пуск" ограничен не более 30 дней до текущей даты.
Выберите "Обновить" , чтобы обновить список событий для различных типов ресурсов с примененными фильтрами.
Проверьте время, а затем выберите "Восстановить ", чтобы начать восстановление выбранного ресурса, который ранее был удален.
Внимание
Не более трех операций восстановления могут быть активными в любое время в одной учетной записи. Удаление исходной учетной записи во время выполнения операции восстановления может привести к сбою операции восстановления.
Примечание.
Веб-канал событий отображает ресурсы как недоступные для восстановления. Веб-канал содержит дополнительные сведения о том, почему ресурс не может быть восстановлен. В большинстве случаев необходимо восстановить родительскую базу данных перед восстановлением любого дочернего контейнера базы данных.
После запуска операции восстановления отслеживайте операцию с помощью области уведомлений портал Azure. Уведомление предоставляет состояние восстанавливаемого ресурса. Пока выполняется восстановление, состояние контейнера — создание. После завершения операции восстановления состояние изменится на Online.
Используйте 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>
Примечание.
Перечисление всех событий удаления восстанавливаемой базы данных позволяет выбрать правильную базу данных в сценарии, в котором фактическое время существования неизвестно. Если веб-канал событий содержит тип операции Delete в ответе, то она является удаленной базой данных и может быть восстановлена в той же учетной записи. Метка времени восстановления может быть задана в любое время до метки времени удаления и в окне хранения.
Используйте 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>
Примечание.
Перечисление всех событий удаления восстанавливаемой базы данных позволяет выбрать правильный контейнер в сценарии, в котором фактическое время существования неизвестно. Если веб-канал событий содержит тип операции Delete в ответе, то он является удаленным контейнером и может быть восстановлен в той же учетной записи. Метка времени восстановления может быть задана в любое время до метки времени удаления и в окне хранения.
Инициируйте операцию восстановления для удаленной базы данных с помощью 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 collection restore,timestamp является необязательным, если он не указан последним удаленным экземпляром коллекции.
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 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 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 для восстановления удаленного контейнера или базы данных. Дочерние контейнеры и базы данных также восстанавливаются.
Внимание
Для доступа к командлетам восстановления в учетной записи требуется модуль Az.Cosmos DB для Azure PowerShell версии 1.14.1 или более поздней версии.
Получите список всех динамических и удаленных учетных записей базы данных с помощью командлета [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}
Примечание.
У учетной записи есть
CreationTime
илиDeletionTime
поля. Эти поля также существуют для регионов. Эти времена позволяют выбрать правильный регион и допустимый диапазон времени, используемый при восстановлении ресурса.Используйте командлет Get-AzCosmosDBSqlRestorableDatabase для перечисления всех восстанавливаемых версий баз данных для динамических учетных записей:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" Location = "<location>" } Get-AzCosmosDBSqlRestorableDatabase @parameters
Примечание.
Перечисление всех событий удаления восстанавливаемой базы данных позволяет выбрать правильную базу данных в сценарии, когда фактическое время существования неизвестно. Если веб-канал событий содержит тип операции Delete в ответе, то она является удаленной базой данных и ее можно восстановить в той же учетной записи. Метка времени восстановления может быть задана в любой метке времени удаления и в окне хранения.
Используйте командлет Get-AzCosmosDBSqlRestorableContainer для перечисления всех версий восстанавливаемых контейнеров в определенной базе данных:
$parameters = @{ DatabaseAccountInstanceId = "<instance-id-of-account>" DatabaseRId = "<owner-resource-id-of-database>" Location = "<location>" } Get-AzCosmosDBSqlRestorableContainer @parameters
Примечание.
Перечисление всех событий удаления восстанавливаемой базы данных позволяет выбрать правильный контейнер в сценарии, когда фактическое время существования неизвестно. Если веб-канал событий содержит тип операции Delete в ответе, он является удаленным контейнером и его можно восстановить в той же учетной записи. Метка времени восстановления может быть задана в любой метке времени удаления и в окне хранения.
Инициируйте операцию восстановления для удаленной базы данных с помощью командлета 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}
Примечание.
У учетной записи есть
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}
Примечание.
У учетной записи есть
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}
Примечание.
У учетной записи есть
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"
}
}
}
]
}
Примечание.
Используйте 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.
- Узнайте, как перенести учетную запись из периодической резервной копии в непрерывную резервную копию.
- Просмотрите модель ресурсов непрерывного режима резервного копирования.
- Управление разрешениями , необходимыми для восстановления данных с помощью режима непрерывного резервного копирования.
Обратная связь
Были ли сведения на этой странице полезными?