Restaurar uma conta do Azure Cosmos DB que usa o modo de backup contínuo
APLICA-SE A: NoSQL MongoDB Gremlin Tabela
O recurso de restauração point-in-time do Azure Cosmos DB ajuda você a se recuperar de uma alteração acidental dentro de um contêiner, restaurar uma conta, banco de dados ou contêiner excluído ou restaurar em qualquer região (onde existiam backups). O modo de cópia de segurança contínua permite-lhe restaurar para qualquer ponto de tempo nos últimos 30 dias.
Este artigo descreve como identificar o tempo de restauração e restaurar uma conta ativa ou excluída do Azure Cosmos DB. Ele mostra como restaurar a conta usando o portal do Azure, PowerShell, CLI ou um modelo do Azure Resource Manager.
Restaurar uma conta usando o portal do Azure
Restaurar uma conta real de modificação acidental
Você pode usar o portal do Azure para restaurar uma conta ativa inteira ou bancos de dados e contêineres selecionados sob ela. Use as seguintes etapas para restaurar seus dados:
Inicie sessão no portal do Azure.
Navegue até sua conta do Azure Cosmos DB e abra a folha Restauração Point In Time .
Nota
A folha de restauração no portal do Azure só será preenchida se você tiver a
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
permissão. Para saber mais sobre como definir essa permissão, consulte o artigo Permissões de backup e restauração.Preencha os seguintes detalhes para restaurar:
Ponto de Restauração (UTC) – Um carimbo de data/hora nos últimos 30 dias. A conta deve existir nesse carimbo de data/hora. Você pode especificar o ponto de restauração em UTC. Pode ser o mais próximo do segundo quando você quiser restaurá-lo. Selecione o link Clique aqui para obter ajuda na identificação do ponto de restauração.
Localização – A região de destino onde a conta é restaurada. A conta deve existir nesta região no carimbo de data/hora fornecido (por exemplo, Oeste dos EUA ou Leste dos EUA). Uma conta só pode ser restaurada para as regiões em que a conta de origem existia.
Restaurar recurso – Você pode escolher Conta inteira ou um banco de dados/contêiner selecionado para restaurar. Os bancos de dados e contêineres devem existir no carimbo de data/hora determinado. Com base no ponto de restauração e no local selecionados, os recursos de restauração são preenchidos, o que permite ao usuário selecionar bancos de dados ou contêineres específicos que precisam ser restaurados.
Grupo de recursos - Grupo de recursos sob o qual a conta de destino será criada e restaurada. O grupo de recursos já deve existir.
Restaurar Conta de Destino – O nome da conta de destino. O nome da conta de destino precisa seguir as mesmas diretrizes de quando você está criando uma nova conta. Essa conta será criada pelo processo de restauração na mesma região onde sua conta de origem existe.
Depois de selecionar os parâmetros acima, selecione o botão Enviar para iniciar uma restauração. O custo de restauração é uma cobrança única, baseada no tamanho dos dados e no custo do armazenamento de backup na região selecionada. Para saber mais, consulte a seção Preços .
A exclusão da conta de origem enquanto uma restauração está em andamento pode resultar em falha na restauração.
Carimbo de data/hora restaurável para contas reais
Para restaurar contas ativas do Azure Cosmos DB que não são excluídas, é uma prática recomendada sempre identificar o carimbo de data/hora restaurável mais recente para o contêiner. Em seguida, você pode usar esse carimbo de data/hora para restaurar a conta para sua versão mais recente.
Usar o feed de eventos para identificar o tempo de restauração
Ao preencher o tempo do ponto de restauração no portal do Azure, se precisar de ajuda para identificar o ponto de restauração, selecione o link Clique aqui , ele o levará à folha de feed de eventos. O feed de eventos fornece uma lista de fidelidade completa de criar, substituir e excluir eventos em bancos de dados e contêineres da conta de origem.
Por exemplo, se você quiser restaurar para o ponto antes de um determinado contêiner ser excluído ou atualizado, verifique este feed de eventos. Os eventos são exibidos em ordem cronologicamente decrescente de tempo quando ocorreram, com eventos recentes no topo. Você pode navegar pelos resultados e selecionar o tempo antes ou depois do evento para reduzir ainda mais seu tempo.
Nota
O feed de eventos não exibe as alterações nos recursos do item. Você sempre pode especificar manualmente qualquer carimbo de data/hora nos últimos 30 dias (desde que a conta exista naquele momento) para restauração.
Restaurar uma conta excluída
Você pode usar o portal do Azure para restaurar completamente uma conta excluída dentro de 30 dias após sua exclusão. Use as seguintes etapas para restaurar uma conta excluída:
Inicie sessão no portal do Azure.
Procure recursos do Azure Cosmos DB na barra de pesquisa global. Ele lista todas as suas contas existentes.
Em seguida, selecione o botão Restaurar . A folha Restaurar exibe uma lista de contas excluídas que podem ser restauradas dentro do período de retenção, que é de 30 dias a partir do tempo de exclusão.
Escolha a conta que deseja restaurar.
Nota
A folha de restauração no portal do Azure só será preenchida se você tiver a
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
permissão. Para saber mais sobre como definir essa permissão, consulte o artigo Permissões de backup e restauração.Selecione uma conta para restaurar e insira os seguintes detalhes para restaurar uma conta excluída:
Ponto de Restauração (UTC) – Um carimbo de data/hora nos últimos 30 dias. A conta deveria ter existido nesse carimbo de data/hora. Especifique o ponto de restauração em UTC. Pode ser o mais próximo do segundo quando você quiser restaurá-lo.
Localização – A região de destino onde a conta precisa ser restaurada. A conta de origem deve existir nesta região no carimbo de data/hora fornecido. Exemplo Oeste dos EUA ou Leste dos EUA.
Grupo de recursos - Grupo de recursos sob o qual a conta de destino será criada e restaurada. O grupo de recursos já deve existir.
Restaurar conta de destino – O nome da conta de destino precisa seguir as mesmas diretrizes de quando você está criando uma nova conta. Essa conta será criada pelo processo de restauração na mesma região onde sua conta de origem existe.
Acompanhe o status da operação de restauração
Depois de iniciar uma operação de restauração, selecione o ícone do sino de notificação no canto superior direito do portal. Ele fornece um link exibindo o status da conta que está sendo restaurada. Enquanto a restauração estiver em andamento, o status da conta será Criando, depois que a operação de restauração for concluída, o status da conta mudará para Online.
Obter os detalhes da restauração da conta restaurada
Após a conclusão da operação de restauração, convém saber os detalhes da conta de origem a partir da qual você restaurou ou o tempo de restauração.
Use as seguintes etapas para obter os detalhes da restauração do portal do Azure:
Entre no portal do Azure e navegue até a conta restaurada.
Navegue até o painel Exportar modelo . Ele abre um modelo JSON, correspondente à conta restaurada.
Restaurar uma conta usando o Azure PowerShell
Antes de restaurar a conta, instale a versão mais recente do Azure PowerShell ou a versão superior à 9.6.0. Em seguida, conecte-se à sua conta do Azure e selecione a assinatura necessária com os seguintes comandos:
Entre no Azure usando o seguinte comando:
Connect-AzAccount
Selecione uma assinatura específica com o seguinte comando:
Select-AzSubscription -Subscription <SubscriptionName>
Acionar uma operação de restauração para a API para conta NoSQL
O cmdlet a seguir é um exemplo para disparar uma operação de restauração com o comando restore usando a conta de destino, a conta de origem, o local, o grupo de recursos, PublicNetworkAccess, DisableTtl e o carimbo de data/hora:
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "RestoredAccountName" `
-SourceDatabaseAccountName "SourceDatabaseAccountName" `
-RestoreTimestampInUtc "UTCTime" `
-Location "AzureRegionName" `
-PublicNetworkAccess Disabled `
-DisableTtl $true
Exemplo 1: Restaurar toda a conta:
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "source-sql" `
-RestoreTimestampInUtc "2021-01-05T22:06:00" `
-Location "West US" `
-PublicNetworkAccess Disabled
-DisableTtl $false
Se PublicNetworkAccess
não estiver definida, a conta restaurada está acessível a partir da rede pública, certifique-se de passar Disabled
para a opção de desativar o acesso à rede pública para a PublicNetworkAccess
conta restaurada. Definir DisableTtl como $true garante que o TTL esteja desativado na conta restaurada, não fornecendo parâmetro restaura a conta com TTL ativado se tiver sido definido anteriormente.
Nota
Para restaurar com o acesso à rede pública desativado, a versão estável mínima do Az.CosmosDB necessária é 1.12.0.
Exemplo 2: Restaurando coleções e bancos de dados específicos. Este exemplo restaura as coleções MyCol1, MyCol2 de MyDB1 e todo o banco de dados MyDB2, que inclui todos os contêineres sob ele.
$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"
Exemplo 3: Restaurando a API para a conta Gremlin. Este exemplo restaura os gráficos graph1, graph2 de MyDB1 e todo o banco de dados MyDB2, que inclui todos os contêineres sob ele.
$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"
Exemplo 4: Restaurando a API para a Conta de Tabela. Este exemplo restaura as tabelas table1, table1 de 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"
Para restaurar uma conta contínua configurada com identidade gerenciada usando a CLI
Para restaurar a conta contínua da Chave Gerenciada pelo Cliente (CMK), consulte as etapas fornecidas aqui
Obter os detalhes da restauração da conta restaurada
Importe o Az.CosmosDB
módulo versão 1.12.0 e execute o seguinte comando para obter os detalhes da restauração. O restoreTimestamp estará sob o objeto restoreParameters:
Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount
Enumerar recursos restauráveis para API para NoSQL
Os cmdlets de enumeração ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos de contêiner.
Listar todas as contas que podem ser restauradas na assinatura atual
Execute o Get-AzCosmosDBRestorableDatabaseAccount
comando PowerShell para listar todas as contas que podem ser restauradas na assinatura atual.
A resposta inclui todas as contas de banco de dados (ativas e excluídas) que podem ser restauradas e as regiões das quais elas podem ser restauradas.
{
"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"
}
Assim como o CreationTime
ou DeletionTime
para a conta, há um CreationTime
ou DeletionTime
para a região também. Esses horários permitem que você escolha a região certa e um intervalo de tempo válido para restaurar nessa região.
Listar todas as versões de bancos de dados SQL em uma conta de banco de dados ativa
Listar todas as versões de bancos de dados permite que você escolha o banco de dados certo em um cenário onde o tempo real de existência do banco de dados é desconhecido.
Execute o seguinte comando do PowerShell para listar todas as versões de bancos de dados. Este comando só funciona com contas reais. Os DatabaseAccountInstanceId
parâmetros e são Location
obtidos das name
propriedades e location
na resposta do Get-AzCosmosDBRestorableDatabaseAccount
cmdlet. O DatabaseAccountInstanceId
atributo refere-se à instanceId
propriedade da conta do banco de dados de origem que está sendo restaurada:
Get-AzCosmosdbSqlRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Listar todas as versões de contêineres SQL de um banco de dados em uma conta de banco de dados ativa
Use o comando a seguir para listar todas as versões de contêineres SQL. Este comando só funciona com contas reais. O DatabaseRId
parâmetro é o ResourceId
do banco de dados que você deseja restaurar. É o valor do ownerResourceid
atributo encontrado na resposta do Get-AzCosmosdbSqlRestorableDatabase
cmdlet. A resposta também inclui uma lista de operações realizadas em todos os contêineres dentro desse banco de dados.
Get-AzCosmosdbSqlRestorableContainer `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Encontre bancos de dados ou contêineres que podem ser restaurados em qualquer carimbo de data/hora
Use o comando a seguir para obter a lista de bancos de dados ou contêineres que podem ser restaurados em qualquer carimbo de data/hora. Este comando só funciona com contas reais.
Get-AzCosmosdbSqlRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Enumerar recursos restauráveis na API para MongoDB
Os comandos de enumeração descritos abaixo ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos de contêiner. Esses comandos só funcionam para contas ao vivo e são semelhantes aos comandos da API para NoSQL, mas com MongoDB
o nome do comando em vez de sql
.
Listar todas as versões dos bancos de dados MongoDB em uma conta de banco de dados ativa
Get-AzCosmosdbMongoDBRestorableDatabase `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Listar todas as versões das coleções MongoDB de um banco de dados em uma conta de banco de dados ativa
Get-AzCosmosdbMongoDBRestorableCollection `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Listar todos os recursos de uma conta de banco de dados MongoDB que estão disponíveis para restauração em um determinado carimbo de data/hora e região
Get-AzCosmosdbMongoDBRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "West US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Enumerar recursos restauráveis para API para Gremlin
Os cmdlets de enumeração ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos gráficos.
Listar todas as versões dos bancos de dados Gremlin em uma conta de banco de dados ativa
Listar todas as versões de bancos de dados permite que você escolha o banco de dados certo em um cenário onde o tempo real de existência do banco de dados é desconhecido.
Execute o seguinte comando do PowerShell para listar todas as versões de bancos de dados. Este comando só funciona com contas reais. Os DatabaseAccountInstanceId
parâmetros e são Location
obtidos das name
propriedades e location
na resposta do Get-AzCosmosDBRestorableDatabaseAccount
cmdlet. O DatabaseAccountInstanceId
atributo refere-se à instanceId
propriedade da conta do banco de dados de origem que está sendo restaurada:
Get-AzCosmosdbGremlinRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Listar todas as versões de gráficos Gremlin de um banco de dados em uma conta de banco de dados ativa
Use o comando a seguir para listar todas as versões da API para gráficos Gremlin. Este comando só funciona com contas reais. O DatabaseRId
parâmetro é o ResourceId
do banco de dados que você deseja restaurar. É o valor do ownerResourceid
atributo encontrado na resposta do Get-AzCosmosdbGremlinRestorableDatabase
cmdlet. A resposta também inclui uma lista de operações realizadas em todos os gráficos dentro deste banco de dados.
Get-AzCosmosdbGremlinRestorableGraph `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Encontre bancos de dados ou gráficos que podem ser restaurados em qualquer carimbo de data/hora
Use o comando a seguir para obter a lista de bancos de dados ou gráficos que podem ser restaurados em qualquer carimbo de data/hora. Este comando só funciona com contas reais.
Get-AzCosmosdbGremlinRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Enumerar recursos restauráveis para API para Tabela
Os cmdlets de enumeração ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável e recursos de tabela.
Listar todas as versões de tabelas de um banco de dados em uma conta de banco de dados ativa
Use o comando a seguir para listar todas as versões das tabelas. Este comando só funciona com contas reais.
Get-AzCosmosdbTableRestorableTable `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Encontre tabelas que podem ser restauradas em qualquer carimbo de data/hora
Use o comando a seguir para obter a lista de tabelas que podem ser restauradas em qualquer carimbo de data/hora. Este comando só funciona com contas reais.
Get-AzCosmosdbTableRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Restaurar uma conta usando a CLI do Azure
Antes de restaurar a conta, instale a CLI do Azure com as seguintes etapas:
Instalar a versão mais recente da CLI do Azure
- Instale a versão mais recente da CLI do Azure ou a versão superior a 2.52.0.
- Se você já tiver instalado a CLI, execute
az upgrade
o comando para atualizar para a versão mais recente. Este comando só funcionará com a versão da CLI superior a 2.52.0. Se você tiver uma versão anterior, use o link acima para instalar a versão mais recente.
Inicie sessão e selecione a sua subscrição
- Entre na sua conta do Azure com
az login
o comando. - Selecione a assinatura necessária usando
az account set -s <subscriptionguid>
o comando.
- Entre na sua conta do Azure com
Acionar uma operação de restauração com a CLI do Azure
A maneira mais simples de acionar uma restauração é emitindo o comando restore com o nome da conta de destino, conta de origem, local, grupo de recursos, carimbo de data/hora (em UTC) e, opcionalmente, os nomes do banco de dados e do contêiner. Seguem-se alguns exemplos para acionar a operação de restauro:
Criar uma nova conta do Azure Cosmos DB restaurando a partir de uma conta existente
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
Se --public-network-access
não estiver definida, a conta restaurada estará acessível a partir da rede pública. Certifique-se de passar Disabled
para a opção para impedir o acesso à rede pública para a --public-network-access
conta restaurada. Definir disable-ttl como $true garante que o TTL esteja desativado na conta restaurada e não fornecer esse parâmetro restaura a conta com TTL habilitado se ele tiver sido definido anteriormente.
Nota
Para restaurar com o acesso à rede pública desativado, a versão estável mínima do azure-cli é 2.52.0.
Criar uma nova conta do Azure Cosmos DB restaurando apenas bancos de dados e contêineres selecionados de uma conta de banco de dados existente
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
Crie uma nova API do Azure Cosmos DB para a conta Gremlin restaurando apenas bancos de dados e gráficos selecionados de uma API existente para a conta 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
Criar uma nova API do Azure Cosmos DB para conta de Tabela restaurando apenas tabelas selecionadas de uma API existente para Conta de Tabela
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
Obter os detalhes da restauração da conta restaurada
Execute o seguinte comando para obter os detalhes da restauração. A az cosmosdb show
saída do comando mostra o valor da createMode
propriedade. Se o valor estiver definido como Restaurar, indica que a conta foi restaurada de outra conta. A restoreParameters
propriedade tem mais detalhes, como restoreSource
, que tem o ID da conta de origem. O último GUID no restoreSource
parâmetro é o instanceId
da conta de origem. E o testamento restoreTimestamp
estará sob o restoreParameters
objeto:
az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup
Enumerar recursos restauráveis para API para NoSQL
Os comandos de enumeração descritos abaixo ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos de contêiner.
Listar todas as contas que podem ser restauradas na assinatura atual
Execute o seguinte comando da CLI do Azure para listar todas as contas que podem ser restauradas na assinatura atual
az cosmosdb restorable-database-account list --account-name "Pitracct"
A resposta inclui todas as contas de banco de dados (ativas e excluídas) que podem ser restauradas e as regiões das quais elas podem ser restauradas:
{
"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"
}
Assim como o CreationTime
ou DeletionTime
para a conta, há um CreationTime
ou DeletionTime
para a região também. Esses horários permitem que você escolha a região certa e um intervalo de tempo válido para restaurar nessa região.
Listar todas as versões de bancos de dados em uma conta de banco de dados ativa
Listar todas as versões de bancos de dados permite que você escolha o banco de dados certo em um cenário onde o tempo real de existência do banco de dados é desconhecido.
Execute o seguinte comando da CLI do Azure para listar todas as versões de bancos de dados. Este comando só funciona com contas reais. Os instance-id
parâmetros e são location
obtidos a name
partir das propriedades e location
na resposta do az cosmosdb restorable-database-account list
comando. O instanceId
atributo também é uma propriedade da conta do banco de dados de origem que está sendo restaurada:
az cosmosdb sql restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Essa saída de comando agora mostra quando um banco de dados foi criado e excluído.
[
{
"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=="
},
}
]
Listar todas as versões de contêineres SQL de um banco de dados em uma conta de banco de dados ativa
Use o comando a seguir para listar todas as versões de contêineres SQL. Este comando só funciona com contas reais. O database-rid
parâmetro é o ResourceId
do banco de dados que você deseja restaurar. É o valor do ownerResourceid
atributo encontrado na resposta do az cosmosdb sql restorable-database list
comando.
az cosmosdb sql restorable-container list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Esta saída de comando mostra inclui uma lista de operações executadas em todos os contêineres dentro deste banco de dados:
[
{
"eventTimestamp": "2021-01-08T23:25:29Z",
"operationType": "Replace",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
{
"eventTimestamp": "2021-01-08T23:25:26Z",
"operationType": "Create",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
]
Encontre bancos de dados ou contêineres que podem ser restaurados em qualquer carimbo de data/hora
Use o comando a seguir para obter a lista de bancos de dados ou contêineres que podem ser restaurados em qualquer carimbo de data/hora. Este comando só funciona com contas reais.
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"
}
]
Enumerar recursos restauráveis para API para conta MongoDB
Os comandos de enumeração descritos abaixo ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos de contêiner. Esses comandos só funcionam para contas ativas.
Listar todas as versões dos bancos de dados MongoDB em uma conta de banco de dados ativa
az cosmosdb mongodb restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Listar todas as versões das coleções MongoDB de um banco de dados em uma conta de banco de dados ativa
az cosmosdb mongodb restorable-collection list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "AoQ13r==" \
--location "West US"
Listar todos os recursos de uma conta de banco de dados mongodb que estão disponíveis para restauração em um determinado carimbo de data/hora e região
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"
Listar todas as versões de bancos de dados em uma conta de banco de dados ativa
Os comandos de enumeração descritos abaixo ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável, banco de dados e recursos gráficos. Esses comandos só funcionam para contas ativas.
az cosmosdb gremlin restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Essa saída de comando agora mostra quando um banco de dados foi criado e excluído.
[ {
"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"
}
]
Listar todas as versões de gráficos Gremlin de um banco de dados em uma conta de banco de dados ativa
az cosmosdb gremlin restorable-graph list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Esta saída de comando mostra inclui uma lista de operações executadas em todos os contêineres dentro deste banco de dados:
[ {
"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"
}
]
Encontre bancos de dados ou gráficos que podem ser restaurados em qualquer carimbo de data/hora
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"
Esta saída de comando mostra os gráficos que são restauráveis:
[
{
"databaseName": "db1",
"graphNames": [ "graph1", "graph3", "graph2" ]
}
]
Enumerar recursos restauráveis para API para conta de tabela
Os comandos de enumeração descritos abaixo ajudam a descobrir os recursos disponíveis para restauração em vários carimbos de data/hora. Além disso, eles também fornecem um feed de eventos-chave na conta restaurável e na API para recursos da Tabela. Esses comandos só funcionam para contas ativas.
Listar todas as versões de tabelas em uma conta de banco de dados ativa
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"
},
]
Listar todos os recursos de uma conta API for Table que estão disponíveis para restauração em um determinado carimbo de data/hora e região
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"
Segue-se o resultado do comando.
{
"tableNames": [
"table1",
"table3",
"table2"
]
}
Restaurar usando o modelo do Azure Resource Manager
Você também pode restaurar uma conta usando o modelo do Azure Resource Manager (ARM). Ao definir o modelo, inclua os seguintes parâmetros:
Restaurar API para conta NoSQL ou MongoDB usando modelo ARM
- Defina o
createMode
parâmetro como Restore. - Defina o
restoreParameters
, observe que orestoreSource
valor é extraído da saída do comando para sua conta deaz cosmosdb restorable-database-account list
origem. O atributo ID da instância para o nome da sua conta é usado para fazer a restauração. - Defina o
restoreMode
parâmetro como PointInTime e configure orestoreTimestampInUtc
valor.
Use o seguinte modelo ARM para restaurar uma conta para a API do Azure Cosmos DB para NoSQL ou MongoDB. Exemplos de outras APIs são fornecidos a seguir.
{
"$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"
}
}
}
]
}
Restaurar API para conta Gremlin usando modelo 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"
]
}]
}
}
}
]
}
Restaurar API para conta de tabela usando o modelo 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"
]
}
}
}
]
}
Em seguida, implante o modelo usando o Azure PowerShell ou a CLI do Azure. O exemplo a seguir mostra como implantar o modelo com um comando da CLI do Azure:
az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath>
Próximos passos
- Provisione o backup contínuo usando o portal do Azure, PowerShell, CLI ou Azure Resource Manager.
- Como migrar para uma conta de backup periódico para backup contínuo.
- Modelo de recursos do modo de backup contínuo.
- Gerencie as permissões necessárias para restaurar dados com o modo de backup contínuo.