Восстановление учетной записи Azure Cosmos DB, использующей режим непрерывного резервного копирования
Область применения: Nosql Mongodb Гремлин Таблица
Возможность восстановления до точки во времени в Azure Cosmos DB позволяет выполнить восстановление после случайного изменения в контейнере, восстановить удаленную учетную запись, базу данных или контейнер, а также выполнить восстановление в любом регионе (где существовали резервные копии). Режим непрерывного резервного копирования позволяет выполнять восстановление до любой точки во времени в течение последних 30 дней.
Эта статья содержит сведения о том, как определить время восстановления и восстановить действующую или удаленную учетную запись Azure Cosmos DB. В нем показано, как восстановить учетную запись с помощью портал Azure, PowerShell, CLI или шаблона Azure Resource Manager.
Восстановление учетной записи с помощью портала Azure
Восстановление действующей учетной записи после случайного изменения
С помощью портала Azure можно восстановить действующую учетную запись или выбранные базы данных и контейнеры, относящиеся к ней. Чтобы восстановить данные, выполните следующие действия:
Войдите на портал Azure.
Перейдите к учетной записи Azure Cosmos DB и откройте колонку Восстановление до точки во времени.
Примечание.
Колонка восстановления на портале Azure заполняется информацией только при наличии у вас разрешения
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
. Дополнительные сведения о настройке этого разрешения см. в статье о разрешениях на резервное копирование и восстановление.Укажите следующие сведения для восстановления:
Точка восстановления (в формате UTC). Это метка времени в пределах последних 30 дней. Учетная запись должна уже существовать на момент, заданный этой меткой времени. Точку восстановления можно указать в формате UTC. Это момент, на который вы хотите восстановить данные, и его можно указать с точностью до секунды. Если вам нужна помощь с определением точки восстановления, нажмите Щелкните здесь.
Расположение. Это регион назначения, в котором восстанавливается учетная запись. Учетная запись должна существовать в этом регионе (например, западная часть США или восточная часть США) на момент, заданный меткой времени. Учетную запись можно восстановить только в тех регионах, в которых существовала исходная учетная запись.
Восстановить ресурс. Для восстановления можно выбрать вариант Вся учетная запись или Выбранная база данных или контейнеры. Эти базы данных и контейнеры должны существовать на момент, заданный меткой времени. Ресурсы для восстановления указываются в списке в зависимости от выбранных точки восстановления и расположения, что позволяет пользователю выбрать конкретные базы данных или контейнеры.
Группа ресурсов. Это группа ресурсов, в которой будет создана и восстановлена целевая учетная запись. Группа ресурсов уже должна существовать.
Восстановить целевую учетную запись. В этом разделе указывается имя целевой учетной записи. Оно должно соответствовать тем же рекомендациям, которые действуют при создании новой учетной записи. Эта учетная запись будет создана процессом восстановления в том же регионе, в котором находится исходная учетная запись.
Выбрав указанные выше параметры, нажмите Отправить, чтобы начать восстановление. За восстановление взимается однократная плата, размер которой зависит от объема данных и от тарифов на хранение резервных копий в конкретном регионе. Дополнительные сведения см. в разделе Цены.
Удаление исходной учетной записи во время восстановления может привести к сбою восстановления.
Восстанавливаемая метка времени для динамических учетных записей
Чтобы восстановить не удаленные действующие учетные записи Azure Cosmos DB, рекомендуется всегда определять последнюю восстанавливаемую метку времени для контейнера. Затем эту метку времени можно использовать для восстановления учетной записи до ее последней версии.
Определение времени восстановления с помощью канала событий
Если при настройке восстановления на портале Azure вам нужна помощь с определением точки восстановления, нажмите Щелкните здесь, чтобы перейти в колонку веб-канала событий. Веб-канал событий предоставляет полный достоверный список событий создания, замены и удаления в базах данных и контейнерах исходной учетной записи.
Например, если требуется восстановить данные до точки перед удалением или обновлением определенного контейнера, проверьте этот веб-канал событий. События отображаются в хронологическом порядке по убыванию, т. е. самые последние события находятся в верхней части списка. Вы можете просмотреть результаты и выбрать время до или после события, чтобы дополнительно сузить временные рамки.
Примечание.
Веб-канал событий не отображает изменения в ресурсах элементов. Вы всегда можете вручную указать любую метку времени в пределах последних 30 дней (при условии, что учетная запись существовала в этот момент) для восстановления.
Восстановление удаленной учетной записи
Портал Azure можно использовать для полного восстановления удаленной учетной записи в течение 30 дней после ее удаления. Чтобы восстановить удаленную учетную запись, выполните следующие действия:
Войдите на портал Azure.
Найдите ресурсы по запросу Azure Cosmos DB, используя строку глобального поиска. Появится перечень всех ваших существующих учетных записей.
Затем нажмите кнопку Восстановить. В колонке восстановления появится список удаленных учетных записей, которые можно восстановить в течение периода хранения, что составляет 30 дней с момента удаления.
Выберите учетную запись, которую вы хотите восстановить.
Примечание.
Колонка восстановления на портале Azure заполняется информацией только при наличии у вас разрешения
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
. Дополнительные сведения о настройке этого разрешения см. в статье о разрешениях на резервное копирование и восстановление.Выберите удаленную учетную запись для восстановления и введите следующие сведения:
Точка восстановления (в формате UTC). Это метка времени в пределах последних 30 дней. Учетная запись должна существовать в момент, заданный этой меткой времени. Укажите точку восстановления в формате UTC. Это момент, на который вы хотите восстановить данные, и его можно указать с точностью до секунды.
Расположение. Это регион назначения, в котором нужно восстановить учетную запись. Исходная учетная запись должна существовать в этом регионе на момент, заданный меткой времени. Пример: западная часть США или восточная часть США.
Группа ресурсов. Это группа ресурсов, в которой будет создана и восстановлена целевая учетная запись. Группа ресурсов уже должна существовать.
Восстановить целевую учетную запись. Имя целевой учетной записи должно соответствовать тем же рекомендациям, которые действуют при создании новой учетной записи. Эта учетная запись будет создана процессом восстановления в том же регионе, в котором находится исходная учетная запись.
Отслеживание состояния операции восстановления
После инициализации операции восстановления щелкните значок Уведомление (в виде колокольчика) в правом верхнем углу портала. По ссылке будет показано состояние восстанавливаемой учетной записи. Пока выполняется восстановление, учетная запись будет иметь статус Создание, а после завершения восстановления состояние учетной записи изменится на Подключено.
Получение сведений о восстановлении из восстановленной учетной записи
После завершения операции восстановления вам может потребоваться узнать сведения об исходной учетной записи, из которой были восстановлены данные, или время восстановления.
Чтобы получить сведения о восстановлении на портале Azure, выполните приведенные ниже действия.
Войдите в портал Azure и перейдите к восстановленной учетной записи.
Перейдите к области Экспорт шаблона. Откроется шаблон JSON, соответствующий восстановленной учетной записи.
Восстановление учетной записи с помощью Azure PowerShell
Перед восстановлением учетной записи установите последнюю версию Azure PowerShell или версию выше 9.6.0. Затем подключитесь к учетной записи Azure и выберите нужную подписку с помощью следующих команд:
Войдите в Azure, выполнив следующую команду.
Connect-AzAccount
Чтобы выбрать определенную подписку, выполните следующую команду:
Select-AzSubscription -Subscription <SubscriptionName>
Активация операции восстановления для учетной записи API для NoSQL
Следующий командлет — это пример запуска операции восстановления с помощью целевой учетной записи, исходной учетной записи, расположения, группы ресурсов, PublicNetworkAccess, DisableTtl и метки времени:
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "RestoredAccountName" `
-SourceDatabaseAccountName "SourceDatabaseAccountName" `
-RestoreTimestampInUtc "UTCTime" `
-Location "AzureRegionName" `
-PublicNetworkAccess Disabled `
-DisableTtl $true
Пример 1. Восстановление всей учетной записи.
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "source-sql" `
-RestoreTimestampInUtc "2021-01-05T22:06:00" `
-Location "West US" `
-PublicNetworkAccess Disabled
-DisableTtl $false
Если PublicNetworkAccess
не задано, восстановленная учетная запись доступна из общедоступной сети, убедитесь, что передайте Disabled
PublicNetworkAccess
параметр, чтобы отключить доступ к общедоступной сети для восстановленной учетной записи. Параметр DisableTtl to $true гарантирует, что TTL отключен в восстановленной учетной записи, не предоставляя параметру восстановление учетной записи с включенной функцией TTL, если она была задана ранее.
Примечание.
Для восстановления с отключенным доступом к общедоступной сети требуется минимальная стабильная версия Az.CosmosDB 1.12.0.
Пример 2: Восстановление конкретных коллекций и баз данных. В этом примере восстанавливаются коллекции MyCol1, MyCol2 из MyDB1 и база данных MyDB2 в целом вместе со всеми контейнерами.
$datatabaseToRestore1 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB1" -CollectionName "MyCol1", "MyCol2"
$datatabaseToRestore2 = New-AzCosmosDBDatabaseToRestore -DatabaseName "MyDB2"
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "SourceSql" `
-RestoreTimestampInUtc "2021-01-05T22:06:00" `
-DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
-Location "West US"
Пример 3. Восстановление API для учетной записи Gremlin. В этом примере восстанавливаются графы graph1, graph2 из MyDB1 и база данных MyDB2 целиком вместе со всеми контейнерами.
$datatabaseToRestore1 = New-AzCosmosDBGremlinDatabaseToRestore -DatabaseName "MyDB1" -GraphName "graph1", "graph2"
$datatabaseToRestore2 = New-AzCosmosDBGremlinDatabaseToRestore -DatabaseName "MyDB2"
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "SourceGremlin" `
-RestoreTimestampInUtc "2022-04-05T22:06:00" `
-DatabasesToRestore $datatabaseToRestore1, $datatabaseToRestore2 `
-Location "West US"
Пример 4. Восстановление API для учетной записи таблицы. В этом примере восстанавливаются таблицы table1, table1 из MyDB1
$tablesToRestore = New-AzCosmosDBTableToRestore -TableName "table1", "table2"
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "SourceTable" `
-RestoreTimestampInUtc "2022-04-06T22:06:00" `
-TablesToRestore $tablesToRestore `
-Location "West US"
Восстановление непрерывной учетной записи, настроенной с помощью управляемого удостоверения с помощью CLI
Чтобы восстановить непрерывную учетную запись управляемого клиентом ключа (CMK), ознакомьтесь с инструкциями, приведенными здесь.
Получение сведений о восстановлении из восстановленной учетной записи
Az.CosmosDB
Импортируйте модуль версии 1.12.0 и выполните следующую команду, чтобы получить сведения о восстановлении. А restoreTimestamp отображается под объектом restoreParameters:
Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount
Перечисление восстанавливаемых ресурсов для API для NoSQL
Командлеты перечисления помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и контейнера.
Вывод всех учетных записей, которые могут быть восстановлены в текущей подписке
Выполните команду PowerShell Get-AzCosmosDBRestorableDatabaseAccount
, чтобы вывести список всех учетных записей, которые можно восстановить в текущей подписке.
Ответ содержит все учетные записи базы данных (как активных, так и удаленных), которые можно восстановить, и регионы, из которых они могут быть восстановлены.
{
"accountName": "SampleAccount",
"apiType": "Sql",
"creationTime": "2020-08-08T01:04:52.070190+00:00",
"deletionTime": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"identity": null,
"location": "West US",
"name": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"restorableLocations": [
{
"creationTime": "2020-08-08T01:04:52.945185+00:00",
"deletionTime": null,
"location": "West US",
"regionalDatabaseAccountInstanceId": "30701557-ecf8-43ce-8810-2c8be01dccf9"
},
{
"creationTime": "2020-08-08T01:15:43.507795+00:00",
"deletionTime": null,
"location": "East US",
"regionalDatabaseAccountInstanceId": "8283b088-b67d-4975-bfbe-0705e3e7a599"
}
],
"tags": null,
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
}
Так же, как CreationTime
и DeletionTime
для учетной записи, существует CreationTime
или DeletionTime
для региона. Эти значения позволяют выбрать правильный регион и допустимый временной диапазон для восстановления в этом регионе.
Вывод списка всех версий баз данных SQL в действующей учетной записи базы данных
Перечисление всех версий баз данных позволяет выбрать правильную базу данных в сценарии, в котором фактическое время существования базы данных неизвестно.
Выполните следующую команду PowerShell, чтобы вывести список всех версий баз данных. Эта команда работает только с активными учетными записями. Параметры DatabaseAccountInstanceId
и Location
получены из свойств name
и location
в ответе командлета Get-AzCosmosDBRestorableDatabaseAccount
. DatabaseAccountInstanceId
Атрибут ссылается на свойство instanceId
восстанавливаемой учетной записи базы данных источника:
Get-AzCosmosdbSqlRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Вывод списка всех версий контейнеров SQL базы данных в активной учетной записи базы данных.
Используйте следующую команду, чтобы получить список всех версий контейнеров SQL. Эта команда работает только с активными учетными записями. Параметр DatabaseRId
— это ResourceId
базы данных, которую необходимо восстановить. Это значение атрибута ownerResourceid
, содержащееся в ответе командлета Get-AzCosmosdbSqlRestorableDatabase
. Ответ также содержит список операций, выполняемых со всеми контейнерами в этой базе данных.
Get-AzCosmosdbSqlRestorableContainer `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Поиск баз данных или контейнеров, которые можно восстановить по любой заданной метке времени
Используйте следующую команду, чтобы получить список баз данных или контейнеров, которые можно восстановить по любой заданной метке времени. Эта команда работает только с активными учетными записями.
Get-AzCosmosdbSqlRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Перечисление восстанавливаемых ресурсов в API для MongoDB
Командлеты перечисления, указанные ниже, помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и контейнера. Эти команды работают только для динамических учетных записей, и они похожи на команды API для NoSQL, но с MongoDB
именем команды вместо sql
имени.
Вывод списка всех версий баз данных MongoDB в действующей учетной записи базы данных
Get-AzCosmosdbMongoDBRestorableDatabase `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Вывод списка всех версий коллекций MongoDB базы данных в активной учетной записи базы данных
Get-AzCosmosdbMongoDBRestorableCollection `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Перечисление всех ресурсов учетной записи базы данных MongoDB, доступных для восстановления в заданной метке времени и регионе
Get-AzCosmosdbMongoDBRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "West US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Перечисление восстанавливаемых ресурсов для API для Gremlin
Командлеты перечисления помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и графа.
Вывод списка всех версий баз данных Gremlin в активной учетной записи базы данных
Перечисление всех версий баз данных позволяет выбрать правильную базу данных в сценарии, в котором фактическое время существования базы данных неизвестно.
Выполните следующую команду PowerShell, чтобы вывести список всех версий баз данных. Эта команда работает только с активными учетными записями. Параметры DatabaseAccountInstanceId
и Location
получены из свойств name
и location
в ответе командлета Get-AzCosmosDBRestorableDatabaseAccount
. DatabaseAccountInstanceId
Атрибут ссылается на свойство instanceId
восстанавливаемой учетной записи базы данных источника:
Get-AzCosmosdbGremlinRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Вывод списка всех версий графов баз данных Gremlin в активной учетной записи базы данных
Используйте следующую команду, чтобы получить список всех версий API для графов Gremlin. Эта команда работает только с активными учетными записями. Параметр DatabaseRId
— это ResourceId
базы данных, которую необходимо восстановить. Это значение атрибута ownerResourceid
, содержащееся в ответе командлета Get-AzCosmosdbGremlinRestorableDatabase
. Ответ также содержит список операций, выполняемых со всеми графами в этой базе данных.
Get-AzCosmosdbGremlinRestorableGraph `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Поиск баз данных или графов, которые можно восстановить по любой заданной метке времени
Используйте следующую команду, чтобы получить список баз данных или графов, которые можно восстановить по любой заданной метке времени. Эта команда работает только с активными учетными записями.
Get-AzCosmosdbGremlinRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Перечисление восстанавливаемых ресурсов для API для таблицы
Командлеты перечисления помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи и таблицы.
Вывод списка всех версий таблиц базы данных в активной учетной записи базы данных.
Используйте следующую команду, чтобы получить список всех версий таблиц. Эта команда работает только с активными учетными записями.
Get-AzCosmosdbTableRestorableTable `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Поиск таблиц, которые можно восстановить по любой заданной метке времени
Используйте следующую команду, чтобы получить список таблиц, которые можно восстановить по любой заданной метке времени. Эта команда работает только с активными учетными записями.
Get-AzCosmosdbTableRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Восстановление учетной записи с помощью Azure CLI
Перед восстановлением учетной записи установите Azure CLI, выполнив следующие действия:
Установите последнюю версию Azure CLI.
- Установите последнюю версию Azure CLI или более поздней версии 2.52.0.
- Если вы уже установили интерфейс командной строки, выполните команду
az upgrade
для обновления до последней версии. Эта команда будет работать только с версией CLI выше 2.52.0. Если у вас более ранняя версия, используйте ссылку выше, чтобы установить последнюю версию.
Вход и выбор подписки
- Войдите в учетную запись Azure с помощью команды
az login
. - Выберите необходимую подписку, используя команду
az account set -s <subscriptionguid>
.
- Войдите в учетную запись Azure с помощью команды
Активация операции восстановления с помощью Azure CLI
Самый простой способ активировать восстановление — выполнить команду restore, указав имя целевой учетной записи, исходную учетную запись, расположение, группу ресурсу, метку времени (в формате UTC) и, при необходимости, имена базы данных и контейнера. Ниже приведены примеры активации операции восстановления.
Создание учетной записи Azure Cosmos DB путем восстановления имеющейся учетной записи
az cosmosdb restore \
--target-database-account-name <MyRestoredCosmosDBDatabaseAccount> \
--account-name <MySourceAccount> \
--restore-timestamp 2020-07-13T16:03:41+0000 \
--resource-group <MyResourceGroup> \
--location "West US" \
--public-network-access Disabled \
--disable-ttl True
Если --public-network-access
не задано, восстановленная учетная запись доступна из общедоступной сети. Передайте Disabled
параметр, чтобы запретить доступ к общедоступной --public-network-access
сети для восстановленной учетной записи. Параметр disable-ttl to $true гарантирует, что TTL отключен в восстановленной учетной записи, и не предоставляет этот параметр восстанавливает учетную запись с включенным TTL, если он был установлен ранее.
Примечание.
Для восстановления с отключенным доступом к общедоступной сети минимальная стабильная версия azure-cli — 2.52.0.
Создание учетной записи Azure Cosmos DB путем восстановления только выбранных баз данных и контейнеров из существующей учетной записи базы данных
az cosmosdb restore \
--resource-group MyResourceGroup \
--target-database-account-name MyRestoredCosmosDBDatabaseAccount \
--account-name MySourceAccount \
--restore-timestamp 2020-07-13T16:03:41+0000 \
--location "West US" \
--databases-to-restore name=MyDB1 collections=Collection1 Collection2 \
--databases-to-restore name=MyDB2 collections=Collection3 Collection4
Создание нового API Azure Cosmos DB для учетной записи Gremlin путем восстановления только выбранных баз данных и графов из существующей учетной записи API для Gremlin
az cosmosdb restore \
--resource-group MyResourceGroup \
--target-database-account-name MyRestoredCosmosDBDatabaseAccount \
--account-name MySourceAccount \
--restore-timestamp 2022-04-13T16:03:41+0000 \
--location "West US" \
--gremlin-databases-to-restore name=MyDB1 graphs=graph1 graph2 \
--gremlin-databases-to-restore name=MyDB2 graphs =graph3 graph4
Создание нового API Azure Cosmos DB для учетной записи таблицы путем восстановления только выбранных таблиц из существующей учетной записи API для таблицы
az cosmosdb restore \
--resource-group MyResourceGroup \
--target-database-account-name MyRestoredCosmosDBDatabaseAccount \
--account-name MySourceAccount \
--restore-timestamp 2022-04-14T06:03:41+0000 \
--location "West US" \
--tables-to-restore table1 table2
Получение сведений о восстановлении из восстановленной учетной записи
Выполните следующую команду, чтобы получить сведения о восстановлении: В выходных данных команды az cosmosdb show
приведено значение свойства createMode
. Если задано значение Восстановить, оно указывает, что учетная запись была восстановлена из другой учетной записи. Свойство restoreParameters
имеет дополнительные сведения, например restoreSource
, с указанием идентификатора исходной учетной записи. Последним уникальным идентификатором в параметре restoreSource
является instanceId
исходной учетной записи. restoreTimestamp
будет находиться в объекте restoreParameters
:
az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup
Перечисление восстанавливаемых ресурсов для API для NoSQL
Командлеты перечисления, указанные ниже, помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и контейнера.
Вывод всех учетных записей, которые могут быть восстановлены в текущей подписке
Выполните приведенную команду Azure CLI, чтобы вывести список всех учетных записей, которые можно восстановить в текущей подписке.
az cosmosdb restorable-database-account list --account-name "Pitracct"
Ответ содержит все учетные записи базы данных (как активных, так и удаленных), которые можно восстановить, и регионы, из которых они могут быть восстановлены.
{
"accountName": "Pitracct",
"apiType": "Sql",
"creationTime": "2021-01-08T23:34:11.095870+00:00",
"deletionTime": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234",
"identity": null,
"location": "West US",
"name": "abcd1234-d1c0-4645-a699-abcd1234",
"restorableLocations": [
{
"creationTime": "2021-01-08T23:34:11.095870+00:00",
"deletionTime": null,
"locationName": "West US",
"regionalDatabaseAccountInstanceId": "f02df26b-c0ec-4829-8bef-3482d36e6230"
}
],
"tags": null,
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts"
}
Так же, как CreationTime
и DeletionTime
для учетной записи, существует CreationTime
или DeletionTime
для региона. Эти значения позволяют выбрать правильный регион и допустимый временной диапазон для восстановления в этом регионе.
Вывод списка всех версий баз данных в действующей учетной записи базы данных
Перечисление всех версий баз данных позволяет выбрать правильную базу данных в сценарии, в котором фактическое время существования базы данных неизвестно.
Выполните приведенную команду Azure CLI, чтобы вывести список всех версий баз данных. Эта команда работает только с активными учетными записями. Параметры instance-id
и location
получены из свойств name
и location
в ответе команды az cosmosdb restorable-database-account list
. Атрибут instanceId
также является свойством восстанавливаемой учетной записи базы данных-источника:
az cosmosdb sql restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Теперь в выходных данных команды показано, когда была создана и удалена база данных.
[
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"name": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"resource": {
"database": {
"id": "db1"
},
"eventTimestamp": "2021-01-08T23:27:25Z",
"operationType": "Create",
"ownerId": "db1",
"ownerResourceId": "YuZAAA=="
},
},
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"name": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"resource": {
"database": {
"id": "spdb1"
},
"eventTimestamp": "2021-01-08T23:25:25Z",
"operationType": "Create",
"ownerId": "spdb1",
"ownerResourceId": "OIQ1AA=="
},
}
]
Вывод списка всех версий контейнеров SQL базы данных в активной учетной записи базы данных.
Используйте следующую команду, чтобы получить список всех версий контейнеров SQL. Эта команда работает только с активными учетными записями. Параметр database-rid
— это ResourceId
базы данных, которую необходимо восстановить. Это значение атрибута ownerResourceid
, содержащееся в ответе команды az cosmosdb sql restorable-database list
.
az cosmosdb sql restorable-container list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Выходные данные команды содержат список операций, выполненных со всеми контейнерами в этой базе данных.
[
{
"eventTimestamp": "2021-01-08T23:25:29Z",
"operationType": "Replace",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
{
"eventTimestamp": "2021-01-08T23:25:26Z",
"operationType": "Create",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
]
Поиск баз данных или контейнеров, которые можно восстановить по любой заданной метке времени
Используйте следующую команду, чтобы получить список баз данных или контейнеров, которые можно восстановить по любой заданной метке времени. Эта команда работает только с активными учетными записями.
az cosmosdb sql restorable-resource list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US" \
--restore-location "West US" \
--restore-timestamp "2021-01-10T01:00:00+0000"
[
{
"collectionNames": [
"procol1",
"procol2"
],
"databaseName": "db1"
},
{
"collectionNames": [
"procol3",
"spcol1"
],
"databaseName": "spdb1"
}
]
Перечисление восстанавливаемых ресурсов для учетной записи API для MongoDB
Командлеты перечисления, указанные ниже, помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и контейнера. Эти команды работают только для активных учетных записей.
Вывод списка всех версий баз данных MongoDB в действующей учетной записи базы данных
az cosmosdb mongodb restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Вывод списка всех версий коллекций MongoDB базы данных в активной учетной записи базы данных
az cosmosdb mongodb restorable-collection list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "AoQ13r==" \
--location "West US"
Вывод всех ресурсов учетной записи базы данных mongodb, доступных для восстановления в заданной метке времени и регионе
az cosmosdb mongodb restorable-resource list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US" \
--restore-location "West US" \
--restore-timestamp "2020-07-20T16:09:53+0000"
Вывод списка всех версий баз данных в действующей учетной записи базы данных
Командлеты перечисления, указанные ниже, помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они предоставляют канал ключевых событий в восстанавливаемых ресурсах учетной записи, базы данных и графа. Эти команды работают только для активных учетных записей.
az cosmosdb gremlin restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Теперь в выходных данных команды показано, когда была создана и удалена база данных.
[ {
"id": "/subscriptions/abcd1234-b6ac-4328-a753-abcd1234/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/abcd1234-4316-483b-8308-abcd1234/restorableGremlinDatabases/abcd1234-0e32-4036-ac9d-abcd1234",
"name": "abcd1234-0e32-4036-ac9d-abcd1234",
"resource": {
"eventTimestamp": "2022-02-09T17:10:18Z",
"operationType": "Create",
"ownerId": "db1",
"ownerResourceId": "1XUdAA==",
"rid": "ymn7kwAAAA=="
},
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases"
}
]
Вывод списка всех версий графов баз данных Gremlin в активной учетной записи базы данных
az cosmosdb gremlin restorable-graph list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Выходные данные команды содержат список операций, выполненных со всеми контейнерами в этой базе данных.
[ {
"id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/restorableGraphs/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"name": "ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"resource": {
"eventTimestamp": "2022-02-09T17:10:31Z",
"operationType": "Create",
"ownerId": "graph1",
"ownerResourceId": "1XUdAPv9duQ=",
"rid": "IcWqcQAAAA=="
},
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs"
}
]
Поиск баз данных или графов, которые можно восстановить по любой заданной метке времени
az cosmosdb gremlin restorable-resource list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US" \
--restore-location "West US" \
--restore-timestamp "2021-01-10T01:00:00+0000"
В выходных данных этой команды показаны графы, которые можно восстановить:
[
{
"databaseName": "db1",
"graphNames": [ "graph1", "graph3", "graph2" ]
}
]
Перечисление восстанавливаемых ресурсов для учетной записи API для таблицы
Командлеты перечисления, указанные ниже, помогают найти ресурсы, доступные для восстановления в различных метках времени. Кроме того, они также предоставляют веб-канал ключевых событий для восстанавливаемой учетной записи и API для ресурсов таблицы. Эти команды работают только для активных учетных записей.
Вывод списка всех версий таблиц в действующей учетной записи базы данных
az cosmosdb table restorable-table list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234"
--location "West US"
[ {
"id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/restorableTables/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"name": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"resource": {
"eventTimestamp": "2022-02-09T17:09:54Z",
"operationType": "Create",
"ownerId": "table1",
"ownerResourceId": "tOdDAKYiBhQ=",
"rid": "9pvDGwAAAA=="
},
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables"
},
{"id": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/restorableTables/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"name": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"resource": {
"eventTimestamp": "2022-02-09T20:47:53Z",
"operationType": "Create",
"ownerId": "table3",
"ownerResourceId": "tOdDALBwexw=",
"rid": "01DtkgAAAA=="
},
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables"
},
]
Список всех ресурсов API для учетной записи таблицы, доступной для восстановления в заданной метке времени и регионе.
az cosmosdb table restorable-resource list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US" \
--restore-location "West US" \
--restore-timestamp "2020-07-20T16:09:53+0000"
Ниже приведен результат команды.
{
"tableNames": [
"table1",
"table3",
"table2"
]
}
Восстановление с помощью шаблона Azure Resource Manager
Кроме того, вы можете восстановить учетную запись с помощью шаблона Azure Resource Manager (ARM). При определении шаблона добавьте следующие параметры:
Восстановление учетной записи API для NoSQL или MongoDB с помощью шаблона ARM
- Задайте для параметра
createMode
значение Восстановить. - Определите
restoreParameters
, обратите внимание, что значениеrestoreSource
извлекается из выходных данных командыaz cosmosdb restorable-database-account list
для исходной учетной записи. Для восстановления используется атрибут идентификатора экземпляра для имени учетной записи. - Задайте для параметра
restoreMode
значение PointInTime и настройте его значениеrestoreTimestampInUtc
.
Используйте следующий шаблон ARM для восстановления учетной записи ДЛЯ API Azure Cosmos DB для NoSQL или MongoDB. Ниже приведены примеры для других API.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "vinhpitrarmrestore-kal3",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"databaseAccountOfferType": "Standard",
"createMode": "Restore",
"restoreParameters": {
"restoreSource": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "6/24/2020 4:01:48 AM",
"restoreWithTtlDisabled": "true"
}
}
}
]
}
Восстановление учетной записи API для Gremlin с помощью шаблона ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "ademo-pitr1",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy": {
"type": "Continuous"
},
"databaseAccountOfferType": "Standard",
"createMode": "Restore",
"restoreParameters": {
"restoreSource": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "2021-10-27T23:20:46Z",
"gremlinDatabasesToRestore": [{
"databaseName": "db1",
"graphNames": [
"graph1", "graph2"
]
}]
}
}
}
]
}
Восстановление API для учетной записи таблицы с помощью шаблона ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "ademo-pitr1",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy": {
"type": "Continuous"
},
"databaseAccountOfferType": "Standard",
"createMode": "Restore",
"restoreParameters": {
"restoreSource": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4bcb9d82e-ec71-430b-b977-cd6641db85ad",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "2022-04-13T10:20:46Z",
"tablesToRestore": [
"table1", "table2"
]
}
}
}
]
}
Затем разверните шаблон с помощью Azure PowerShell или Azure CLI. В следующем примере показано, как развернуть шаблон с помощью команды Azure CLI:
az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath>
Следующие шаги
- Подготовка непрерывного резервного копирования с помощью портал Azure, PowerShell, CLI или Azure Resource Manager.
- Как перевести учетную запись из периодического режима резервного копирования в непрерывный.
- Модель ресурсов непрерывного режима резервного копирования.
- Управление разрешениями для восстановления данных в режиме непрерывного резервного копирования