Partilhar via


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:

  1. Inicie sessão no portal do Azure.

  2. 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.

  3. 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.

    Restaure uma conta ativa da modificação acidental do portal do Azure.

  4. 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.

Use o feed de eventos para identificar o tempo do ponto de restauração.

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:

  1. Inicie sessão no portal do Azure.

  2. Procure recursos do Azure Cosmos DB na barra de pesquisa global. Ele lista todas as suas contas existentes.

  3. 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.

  4. Escolha a conta que deseja restaurar.

    Restaure uma conta excluída do portal do Azure.

    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.

  5. 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.

O status da conta restaurada muda de criação para online quando a operação é concluída.

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:

  1. Entre no portal do Azure e navegue até a conta restaurada.

  2. 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:

  1. Entre no Azure usando o seguinte comando:

    Connect-AzAccount
    
  2. 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:

  1. 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.
  2. 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.

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

  1. Defina o createMode parâmetro como Restore.
  2. Defina o restoreParameters, observe que o restoreSource valor é extraído da saída do comando para sua conta de az cosmosdb restorable-database-account list origem. O atributo ID da instância para o nome da sua conta é usado para fazer a restauração.
  3. Defina o restoreMode parâmetro como PointInTime e configure o restoreTimestampInUtc 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