Een Azure Cosmos DB-account herstellen dat gebruikmaakt van de modus continue back-up

VAN TOEPASSING OP: Nosql MongoDB Gremlin Tabel

Met de functie voor herstel naar een bepaald tijdstip van Azure Cosmos DB kunt u herstellen van een onbedoelde wijziging binnen een container, een verwijderd account, een database of een container herstellen of herstellen in een regio (waar back-ups bestaan). Met de modus voor continue back-up kunt u herstellen naar elk tijdstip in de afgelopen 30 dagen.

In dit artikel wordt beschreven hoe u de hersteltijd identificeert en een live of verwijderd Azure Cosmos DB-account herstelt. Het laat zien hoe u het account herstelt met behulp van Azure Portal, PowerShell, CLI of een Azure Resource Manager-sjabloon.

Een account herstellen met behulp van Azure Portal

Een live-account herstellen na onbedoelde wijziging

U kunt Azure Portal gebruiken om een volledig live account of geselecteerde databases en containers eronder te herstellen. Gebruik de volgende stappen om uw gegevens te herstellen:

  1. Meld u aan bij het Azure-portaal.

  2. Navigeer naar uw Azure Cosmos DB-account en open de blade Herstel naar een bepaald tijdstip.

    Notitie

    De blade Herstellen in Azure Portal wordt alleen ingevuld als u de Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read machtiging hebt. Zie het artikel Over back-up- en herstelmachtigingen voor meer informatie over het instellen van deze machtiging.

  3. Vul de volgende gegevens in om te herstellen:

    • Herstelpunt (UTC): een tijdstempel binnen de afgelopen 30 dagen. Het account moet bestaan op die tijdstempel. U kunt het herstelpunt opgeven in UTC. Het kan net zo dicht bij de seconde liggen als u deze wilt herstellen. Selecteer de koppeling Klik hier om hulp te krijgen bij het identificeren van het herstelpunt.

    • Locatie : de doelregio waar het account wordt hersteld. Het account moet zich in deze regio bevinden op de opgegeven tijdstempel (bijvoorbeeld VS - west of VS - oost). Een account kan alleen worden hersteld naar de regio's waarin het bronaccount bestond.

    • Resource herstellen: u kunt een volledig account of een geselecteerde database/container kiezen die u wilt herstellen. De databases en containers moeten aanwezig zijn in de opgegeven tijdstempel. Op basis van het geselecteerde herstelpunt en de geselecteerde locatie worden herstelbronnen ingevuld, zodat de gebruiker specifieke databases of containers kan selecteren die moeten worden hersteld.

    • Resourcegroep: resourcegroep waaronder het doelaccount wordt gemaakt en hersteld. De resourcegroep moet al bestaan.

    • Doelaccount herstellen: de naam van het doelaccount. De naam van het doelaccount moet dezelfde richtlijnen volgen als wanneer u een nieuw account maakt. Dit account wordt gemaakt door het herstelproces in dezelfde regio waar uw bronaccount bestaat.

    Herstel een live-account vanuit de onopzettelijke wijziging van Azure Portal.

  4. Nadat u de bovenstaande parameters hebt geselecteerd, selecteert u de knop Verzenden om een herstelbewerking te starten. De herstelkosten zijn eenmalig kosten, die zijn gebaseerd op de grootte van gegevens en de kosten van back-upopslag in de geselecteerde regio. Zie de sectie Prijzen voor meer informatie.

Als u het bronaccount verwijdert terwijl er een herstelbewerking wordt uitgevoerd, kan dit leiden tot een fout in de herstelbewerking.

Restorable timestamp for live accounts

Als u Live-accounts van Azure Cosmos DB wilt herstellen die niet worden verwijderd, is het raadzaam altijd de meest recente herstelbare tijdstempel voor de container te identificeren. Vervolgens kunt u deze tijdstempel gebruiken om het account te herstellen naar de nieuwste versie.

Gebeurtenisfeed gebruiken om de hersteltijd te identificeren

Wanneer u de herstelpunttijd in de Azure-portal invult en u hulp nodig hebt bij het identificeren van het herstelpunt, selecteert u de koppeling Klik hier en gaat u naar de blade gebeurtenisfeed. De gebeurtenisfeed biedt een volledige lijst met gebeurtenissen voor het maken, vervangen, verwijderen van gebeurtenissen in databases en containers van het bronaccount.

Als u bijvoorbeeld wilt herstellen naar het punt voordat een bepaalde container is verwijderd of bijgewerkt, controleert u deze gebeurtenisfeed. Gebeurtenissen worden in chronologisch aflopende volgorde van tijd weergegeven, met recente gebeurtenissen bovenaan. U kunt door de resultaten bladeren en de tijd voor of na de gebeurtenis selecteren om uw tijd verder te beperken.

Gebruik gebeurtenisfeed om de herstelpunttijd te identificeren.

Notitie

In de gebeurtenisfeed worden de wijzigingen in de itembronnen niet weergegeven. U kunt altijd handmatig een tijdstempel opgeven in de afgelopen 30 dagen (zolang het account op dat moment bestaat) voor herstel.

Een verwijderd account herstellen

U kunt Azure Portal gebruiken om een verwijderd account binnen 30 dagen na verwijdering volledig te herstellen. Gebruik de volgende stappen om een verwijderd account te herstellen:

  1. Meld u aan bij het Azure-portaal.

  2. Zoek naar Azure Cosmos DB-resources in de algemene zoekbalk. Hierin worden al uw bestaande accounts weergegeven.

  3. Selecteer vervolgens de knop Herstellen . Op de blade Herstellen wordt een lijst weergegeven met verwijderde accounts die kunnen worden hersteld binnen de bewaarperiode. Dit is 30 dagen na de verwijderingstijd.

  4. Kies het account dat u wilt herstellen.

    Een verwijderd account herstellen vanuit De Azure-portal.

    Notitie

    De blade Herstellen in Azure Portal wordt alleen ingevuld als u de Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read machtiging hebt. Zie het artikel Over back-up- en herstelmachtigingen voor meer informatie over het instellen van deze machtiging.

  5. Selecteer een account dat u wilt herstellen en voer de volgende gegevens in om een verwijderd account te herstellen:

    • Herstelpunt (UTC): een tijdstempel binnen de afgelopen 30 dagen. Het account moet bestaan op die tijdstempel. Geef het herstelpunt op in UTC. Het kan net zo dicht bij de seconde liggen als u deze wilt herstellen.

    • Locatie : de doelregio waar het account moet worden hersteld. Het bronaccount moet zich in deze regio bevinden op de opgegeven tijdstempel. Voorbeeld VAN VS - west of VS - oost.

    • Resourcegroep: resourcegroep waaronder het doelaccount wordt gemaakt en hersteld. De resourcegroep moet al bestaan.

    • Doelaccount herstellen: de naam van het doelaccount moet dezelfde richtlijnen volgen als wanneer u een nieuw account maakt. Dit account wordt gemaakt door het herstelproces in dezelfde regio waar uw bronaccount bestaat.

De status van de herstelbewerking bijhouden

Nadat u een herstelbewerking hebt gestart, selecteert u het pictogram Meldingsbel in de rechterbovenhoek van de portal. Er wordt een koppeling weergegeven met de status van het account dat wordt hersteld. Terwijl het herstellen wordt uitgevoerd, wordt de status van het account gemaakt, nadat de herstelbewerking is voltooid, de accountstatus wordt gewijzigd in Online.

De status van herstelde accounts wordt gewijzigd van het maken naar online wanneer de bewerking is voltooid.

De herstelgegevens ophalen uit het herstelde account

Nadat de herstelbewerking is voltooid, wilt u mogelijk weten van welke bronaccountgegevens u hebt hersteld of de hersteltijd.

Gebruik de volgende stappen om de herstelgegevens op te halen uit de Azure-portal:

  1. Meld u aan bij Azure Portal en navigeer naar het herstelde account.

  2. Navigeer naar het deelvenster Sjabloon exporteren . Er wordt een JSON-sjabloon geopend die overeenkomt met het herstelde account.

Een account herstellen met behulp van Azure PowerShell

Voordat u het account herstelt, installeert u de nieuwste versie van Azure PowerShell of hoger dan 9.6.0. Maak vervolgens verbinding met uw Azure-account en selecteer het vereiste abonnement met de volgende opdrachten:

  1. Meld u aan bij Azure met behulp van de volgende opdracht:

    Connect-AzAccount
    
  2. Selecteer een specifiek abonnement met de volgende opdracht:

    Select-AzSubscription -Subscription <SubscriptionName>
    

Een herstelbewerking activeren voor API voor NoSQL-account

De volgende cmdlet is een voorbeeld om een herstelbewerking te activeren met de herstelopdracht met behulp van het doelaccount, het bronaccount, de locatie, de resourcegroep, PublicNetworkAccess, DisableTtl en de tijdstempel:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "RestoredAccountName" `
  -SourceDatabaseAccountName "SourceDatabaseAccountName" `
  -RestoreTimestampInUtc "UTCTime" `
  -Location "AzureRegionName" ` 
  -PublicNetworkAccess Disabled `
  -DisableTtl $true

Voorbeeld 1: Het hele account herstellen:


Restore-AzCosmosDBAccount `
  -TargetResourceGroupName "MyRG" `
  -TargetDatabaseAccountName "Pitracct" `
  -SourceDatabaseAccountName "source-sql" `
  -RestoreTimestampInUtc "2021-01-05T22:06:00" `
  -Location "West US" `
  -PublicNetworkAccess Disabled
  -DisableTtl $false


Als PublicNetworkAccess dit niet is ingesteld, is het herstelde account toegankelijk vanuit het openbare netwerk. Zorg ervoor dat u de PublicNetworkAccess optie doorgeeft Disabled om openbare netwerktoegang voor herstelde accounts uit te schakelen. Als u DisableTtl instelt op $true ervoor zorgt dat TTL is uitgeschakeld voor het herstelde account, wordt het account niet hersteld met TTL ingeschakeld als dit eerder is ingesteld.

Notitie

Voor het herstellen met uitgeschakelde openbare netwerktoegang is de minimaal stabiele versie van Az.CosmosDB 1.12.0 vereist.

Voorbeeld 2: Specifieke verzamelingen en databases herstellen. In dit voorbeeld worden de verzamelingen MyCol1, MyCol2 van MyDB1 en de volledige database MyDB2 hersteld, die alle containers eronder bevat.

$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"

Voorbeeld 3: API herstellen voor Gremlin-account. In dit voorbeeld worden de grafieken graph1, graph2 van MyDB1 en de volledige database MyDB2 hersteld, die alle containers eronder bevat.

$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"

Voorbeeld 4: API herstellen voor tabelaccount. In dit voorbeeld worden de tabellentabel1, tabel1 uit MyDB1 hersteld

$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"

Een doorlopend account herstellen dat is geconfigureerd met een beheerde identiteit met behulp van CLI

Als u een doorlopend CMK-account (Customer Managed Key) wilt herstellen, raadpleegt u de stappen die hier worden beschreven

De herstelgegevens ophalen uit het herstelde account

Importeer de Az.CosmosDB moduleversie 1.12.0 en voer de volgende opdracht uit om de hersteldetails op te halen. De restoreTimestamp staat onder het object restoreParameters:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

Restorable resources opsommen voor API for NoSQL

De opsommings-cmdlets helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het herstelbare account, de database en containerresources.

Alle accounts weergeven die kunnen worden hersteld in het huidige abonnement

Voer de Get-AzCosmosDBRestorableDatabaseAccount PowerShell-opdracht uit om alle accounts weer te geven die kunnen worden hersteld in het huidige abonnement.

Het antwoord bevat alle databaseaccounts (zowel live als verwijderd) die kunnen worden hersteld en de regio's waaruit ze kunnen worden hersteld.

{
    "accountName": "SampleAccount",
    "apiType": "Sql",
    "creationTime": "2020-08-08T01:04:52.070190+00:00",
    "deletionTime": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995",
    "identity": null,
    "location": "West US",
    "name": "23e99a35-cd36-4df4-9614-f767a03b9995",
    "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"
  }

Net als bij of CreationTimeDeletionTime voor het account is er ook een CreationTime of DeletionTime voor de regio. Met deze tijden kunt u de juiste regio en een geldig tijdsbereik kiezen om in die regio te herstellen.

Alle versies van SQL-databases in een livedatabaseaccount weergeven

Door alle versies van databases weer te geven, kunt u de juiste database kiezen in een scenario waarin de werkelijke tijd van het bestaan van de database onbekend is.

Voer de volgende PowerShell-opdracht uit om alle versies van databases weer te geven. Deze opdracht werkt alleen met live-accounts. De DatabaseAccountInstanceId parameters en de Location parameters worden verkregen uit de name en location eigenschappen in het antwoord van Get-AzCosmosDBRestorableDatabaseAccount de cmdlet. Het DatabaseAccountInstanceId kenmerk verwijst naar instanceId de eigenschap van het brondatabaseaccount dat wordt hersteld:


Get-AzCosmosdbSqlRestorableDatabase `
  -Location "East US" `
  -DatabaseAccountInstanceId <DatabaseAccountInstanceId>

Alle versies van SQL-containers van een database in een live-databaseaccount weergeven

Gebruik de volgende opdracht om alle versies van SQL-containers weer te geven. Deze opdracht werkt alleen met live-accounts. De DatabaseRId parameter is de ResourceId database die u wilt herstellen. Dit is de waarde van ownerResourceid het kenmerk dat is gevonden in het antwoord van Get-AzCosmosdbSqlRestorableDatabase de cmdlet. Het antwoord bevat ook een lijst met bewerkingen die worden uitgevoerd op alle containers in deze database.


Get-AzCosmosdbSqlRestorableContainer `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Databases of containers zoeken die op een bepaald tijdstempel kunnen worden hersteld

Gebruik de volgende opdracht om de lijst met databases of containers op te halen die op een bepaald tijdstempel kunnen worden hersteld. Deze opdracht werkt alleen met live-accounts.


Get-AzCosmosdbSqlRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "East US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

Restorable resources opsommen in API voor MongoDB

De opsommingsopdrachten die hieronder worden beschreven, helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het herstelbare account, de database en containerresources. Deze opdrachten werken alleen voor live-accounts en ze zijn vergelijkbaar met API voor NoSQL-opdrachten, maar met MongoDB in de opdrachtnaam in plaats van sql.

Alle versies van MongoDB-databases in een live-databaseaccount weergeven


Get-AzCosmosdbMongoDBRestorableDatabase `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US"

Alle versies van MongoDB-verzamelingen van een database in een live-databaseaccount weergeven


Get-AzCosmosdbMongoDBRestorableCollection `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -DatabaseRId "AoQ13r==" `
  -Location "West US"

Alle resources van een MongoDB-databaseaccount weergeven die beschikbaar zijn om te herstellen op een bepaalde tijdstempel en regio


Get-AzCosmosdbMongoDBRestorableResource `
  -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
  -Location "West US" `
  -RestoreLocation "West US" `
  -RestoreTimestamp "2020-07-20T16:09:53+0000"

Restorable resources opsommen voor API voor Gremlin

De opsommings-cmdlets helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het restorable account, de database en grafiekresources.

Een lijst weergeven van alle versies van Gremlin-databases in een live-databaseaccount

Door alle versies van databases weer te geven, kunt u de juiste database kiezen in een scenario waarin de werkelijke tijd van het bestaan van de database onbekend is. Voer de volgende PowerShell-opdracht uit om alle versies van databases weer te geven. Deze opdracht werkt alleen met live-accounts. De DatabaseAccountInstanceId parameters en de Location parameters worden verkregen uit de name en location eigenschappen in het antwoord van Get-AzCosmosDBRestorableDatabaseAccount de cmdlet. Het DatabaseAccountInstanceId kenmerk verwijst naar instanceId de eigenschap van het brondatabaseaccount dat wordt hersteld:

Get-AzCosmosdbGremlinRestorableDatabase ` 
   -Location "East US" ` 
   -DatabaseAccountInstanceId <DatabaseAccountInstanceId> 

Een lijst weergeven van alle versies van Gremlin-grafieken van een database in een live databaseaccount

Gebruik de volgende opdracht om alle versies van API voor Gremlin-grafieken weer te geven. Deze opdracht werkt alleen met live-accounts. De DatabaseRId parameter is de ResourceId database die u wilt herstellen. Dit is de waarde van ownerResourceid het kenmerk dat is gevonden in het antwoord van Get-AzCosmosdbGremlinRestorableDatabase de cmdlet. Het antwoord bevat ook een lijst met bewerkingen die worden uitgevoerd op alle grafieken in deze database.

Get-AzCosmosdbGremlinRestorableGraph ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -DatabaseRId "AoQ13r==" ` 
   -Location "West US" 

Databases of grafieken zoeken die kunnen worden hersteld op een bepaalde tijdstempel

Gebruik de volgende opdracht om de lijst met databases of grafieken op te halen die op een bepaald tijdstempel kunnen worden hersteld. Deze opdracht werkt alleen met live-accounts.

Get-AzCosmosdbGremlinRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Restorable resources opsommen voor API voor Table

De opsommings-cmdlets helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het restorable account en tabelresources.

Alle versies van tabellen van een database in een live-databaseaccount weergeven

Gebruik de volgende opdracht om alle versies van tabellen weer te geven. Deze opdracht werkt alleen met live-accounts.

Get-AzCosmosdbTableRestorableTable ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68"   ` 
   -Location "West US" 

Tabellen zoeken die op een bepaald tijdstempel kunnen worden hersteld

Gebruik de volgende opdracht om de lijst met tabellen op te halen die op een bepaald tijdstempel kunnen worden hersteld. Deze opdracht werkt alleen met live-accounts.

Get-AzCosmosdbTableRestorableResource ` 
   -DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" ` 
   -Location "West US" ` 
   -RestoreLocation "East US" ` 
   -RestoreTimestamp "2020-07-20T16:09:53+0000" 

Een account herstellen met behulp van Azure CLI

Voordat u het account herstelt, installeert u Azure CLI met de volgende stappen:

  1. De nieuwste versie van Azure CLI installeren

    • Installeer de nieuwste versie van Azure CLI of versie hoger dan 2.52.0.
    • Als u CLI al hebt geïnstalleerd, voert u de opdracht uit az upgrade om bij te werken naar de nieuwste versie. Deze opdracht werkt alleen met CLI-versie hoger dan 2.52.0. Als u een eerdere versie hebt, gebruikt u de bovenstaande koppeling om de nieuwste versie te installeren.
  2. Aanmelden en abonnement selecteren

    • Meld u met de az login opdracht aan bij uw Azure-account.
    • Selecteer het vereiste abonnement met behulp van az account set -s <subscriptionguid> de opdracht.

Een herstelbewerking activeren met Azure CLI

De eenvoudigste manier om een herstelbewerking te activeren, is door de opdracht herstellen uit te geven met de naam van het doelaccount, het bronaccount, de locatie, de resourcegroep, de tijdstempel (in UTC) en eventueel de database- en containernamen. Hier volgen enkele voorbeelden om de herstelbewerking te activeren:

Een nieuw Azure Cosmos DB-account maken door een bestaand account te herstellen


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 

Als --public-network-access dit niet is ingesteld, is het herstelde account toegankelijk vanuit het openbare netwerk. Zorg ervoor dat u de --public-network-access optie doorgeeft Disabled om openbare netwerktoegang voor een hersteld account te voorkomen. Als u disable-ttl instelt op $true zorgt u ervoor dat TTL is uitgeschakeld voor het herstelde account. Als u deze parameter niet opgeeft, wordt het account hersteld waarvoor TTL is ingeschakeld als deze eerder is ingesteld.

Notitie

Voor het herstellen met openbare netwerktoegang uitgeschakeld, is de minimale stabiele versie van azure-cli 2.52.0.

Een nieuw Azure Cosmos DB-account maken door alleen geselecteerde databases en containers te herstellen vanuit een bestaand databaseaccount


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

Een nieuw Azure Cosmos DB-API voor Gremlin-account maken door alleen geselecteerde databases en grafieken te herstellen vanuit een bestaand API voor Gremlin-account


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 

Een nieuwe Azure Cosmos DB-API voor tabelaccount maken door alleen geselecteerde tabellen te herstellen vanuit een bestaande API voor tabelaccount


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 

De herstelgegevens ophalen uit het herstelde account

Voer de volgende opdracht uit om de hersteldetails op te halen. In az cosmosdb show de uitvoer van de opdracht wordt de waarde van createMode de eigenschap weergegeven. Als de waarde is ingesteld op Herstellen, geeft dit aan dat het account is hersteld vanuit een ander account. De restoreParameters eigenschap bevat meer informatie, zoals restoreSource, met de id van het bronaccount. De laatste GUID in de restoreSource parameter is het instanceId bronaccount. En de restoreTimestamp zal zich onder het restoreParameters object:

az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup

Restorable resources opsommen voor API for NoSQL

De opsommingsopdrachten die hieronder worden beschreven, helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het herstelbare account, de database en containerresources.

Alle accounts weergeven die kunnen worden hersteld in het huidige abonnement

Voer de volgende Azure CLI-opdracht uit om alle accounts weer te geven die kunnen worden hersteld in het huidige abonnement

az cosmosdb restorable-database-account list --account-name "Pitracct"

Het antwoord bevat alle databaseaccounts (zowel live als verwijderd) die kunnen worden hersteld en de regio's waaruit ze kunnen worden hersteld:

{
    "accountName": "Pitracct",
    "apiType": "Sql",
    "creationTime": "2021-01-08T23:34:11.095870+00:00",
    "deletionTime": null,
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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"
  }

Net als bij of CreationTimeDeletionTime voor het account is er ook een CreationTime of DeletionTime voor de regio. Met deze tijden kunt u de juiste regio en een geldig tijdsbereik kiezen om in die regio te herstellen.

Alle versies van databases in een live-databaseaccount weergeven

Door alle versies van databases weer te geven, kunt u de juiste database kiezen in een scenario waarin de werkelijke tijd van het bestaan van de database onbekend is.

Voer de volgende Azure CLI-opdracht uit om alle versies van databases weer te geven. Deze opdracht werkt alleen met live-accounts. De instance-id parameters en de location parameters worden verkregen uit de name en location eigenschappen in het antwoord van az cosmosdb restorable-database-account list de opdracht. Het instanceId kenmerk is ook een eigenschap van het brondatabaseaccount dat wordt hersteld:

az cosmosdb sql restorable-database list \
  --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
  --location "West US"

Deze opdrachtuitvoer toont nu wanneer een database is gemaakt en verwijderd.

[
  {
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/40e93dbd-2abe-4356-a31a-35567b777220",
     "name": "40e93dbd-2abe-4356-a31a-35567b777220",
    "resource": {
      "database": {
        "id": "db1"
      },
      "eventTimestamp": "2021-01-08T23:27:25Z",
      "operationType": "Create",
      "ownerId": "db1",
      "ownerResourceId": "YuZAAA=="
    },
   
  },
  {
    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/abcd1234-d1c0-4645-a699-abcd1234/restorableSqlDatabases/243c38cb-5c41-4931-8cfb-5948881a40ea",
    "name": "243c38cb-5c41-4931-8cfb-5948881a40ea",
    "resource": {
      "database": {
        "id": "spdb1"
      },
      "eventTimestamp": "2021-01-08T23:25:25Z",
      "operationType": "Create",
      "ownerId": "spdb1",
      "ownerResourceId": "OIQ1AA=="
    },
 
  }
]

Alle versies van SQL-containers van een database in een live-databaseaccount weergeven

Gebruik de volgende opdracht om alle versies van SQL-containers weer te geven. Deze opdracht werkt alleen met live-accounts. De database-rid parameter is de ResourceId database die u wilt herstellen. Dit is de waarde van ownerResourceid het kenmerk dat in het antwoord van az cosmosdb sql restorable-database list de opdracht wordt gevonden.

az cosmosdb sql restorable-container list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "OIQ1AA==" \
    --location "West US"

Deze uitvoer van de opdracht bevat een lijst met bewerkingen die worden uitgevoerd op alle containers in deze database:

[
  {
      "eventTimestamp": "2021-01-08T23:25:29Z",
      "operationType": "Replace",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
  {
      "eventTimestamp": "2021-01-08T23:25:26Z",
      "operationType": "Create",
      "ownerId": "procol3",
      "ownerResourceId": "OIQ1APZ7U18="
  },
]

Databases of containers zoeken die op een bepaald tijdstempel kunnen worden hersteld

Gebruik de volgende opdracht om de lijst met databases of containers op te halen die op een bepaald tijdstempel kunnen worden hersteld. Deze opdracht werkt alleen met live-accounts.


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"
  }
]

Restorable resources opsommen voor API voor MongoDB-account

De opsommingsopdrachten die hieronder worden beschreven, helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het herstelbare account, de database en containerresources. Deze opdrachten werken alleen voor live-accounts.

Alle versies van MongoDB-databases in een live-databaseaccount weergeven

az cosmosdb mongodb restorable-database list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --location "West US"

Alle versies van MongoDB-verzamelingen van een database in een live-databaseaccount weergeven

az cosmosdb mongodb restorable-collection list \
    --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
    --database-rid "AoQ13r==" \
    --location "West US"

Alle resources van een Mongodb-databaseaccount weergeven die beschikbaar zijn om te herstellen op een bepaalde tijdstempel en regio

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"

Alle versies van databases in een live-databaseaccount weergeven

De opsommingsopdrachten die hieronder worden beschreven, helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het restorable account, de database en grafiekresources. Deze opdrachten werken alleen voor live-accounts.

az cosmosdb gremlin restorable-database list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --location "West US"

Deze opdrachtuitvoer toont nu wanneer een database is gemaakt en verwijderd.

[ { 
    "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" 
    
  } 
] 

Een lijst weergeven van alle versies van Gremlin-grafieken van een database in een live databaseaccount

az cosmosdb gremlin restorable-graph list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234" \ 
   --database-rid "OIQ1AA==" \ 
   --location "West US" 

Deze uitvoer van de opdracht bevat een lijst met bewerkingen die worden uitgevoerd op alle containers in deze database:

[ { 

    "id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/a00d591d-4316-483b-8308-44193c5f3073/restorableGraphs/1792cead-4307-4032-860d-3fc30bd46a20", 
    "name": "1792cead-4307-4032-860d-3fc30bd46a20", 
    "resource": { 
      "eventTimestamp": "2022-02-09T17:10:31Z", 
      "operationType": "Create", 
      "ownerId": "graph1", 
      "ownerResourceId": "1XUdAPv9duQ=", 
      "rid": "IcWqcQAAAA==" 
    }, 
    "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs" 
  } 
] 

Databases of grafieken zoeken die kunnen worden hersteld op een bepaalde tijdstempel

 
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" 

In deze opdrachtuitvoer ziet u de grafieken die kunnen worden aangepast:

[
 { 
"databaseName": "db1", 
"graphNames": [ "graph1",   "graph3",   "graph2"  ] 
  } 
] 

Restorable resources opsommen voor API voor Table-account

De opsommingsopdrachten die hieronder worden beschreven, helpen u bij het detecteren van de resources die beschikbaar zijn voor herstel op verschillende tijdstempels. Daarnaast bieden ze ook een feed met belangrijke gebeurtenissen voor het restorable account en API voor tabelresources. Deze opdrachten werken alleen voor live-accounts.

Alle versies van tabellen in een live-databaseaccount weergeven

az cosmosdb table restorable-table list \ 
   --instance-id "abcd1234-d1c0-4645-a699-abcd1234"  
   --location "West US" 
[   { 

"id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/WestUS/restorableDatabaseAccounts/7e4d666a-c6ba-4e1f-a4b9-e92017c5e8df/restorableTables/59781d91-682b-4cc2-93a3-c25d03fab159", 
"name": "59781d91-682b-4cc2-93a3-c25d03fab159", 
"resource": { 
  "eventTimestamp": "2022-02-09T17:09:54Z", 
  "operationType": "Create", 
  "ownerId": "table1", 
  "ownerResourceId": "tOdDAKYiBhQ=", 
  "rid": "9pvDGwAAAA==" 
  }, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 
   }, 

{"id": "/subscriptions/23587e98-b6ac-4328-a753-03bcd3c8e744/providers/Microsoft.DocumentDB/locations/eastus2euap/restorableDatabaseAccounts/7e4d666a-c6ba-4e1f-a4b9-e92017c5e8df/restorableTables/2c9f35eb-a14c-4ab5-a7e0-6326c4f6b785", 
"name": "2c9f35eb-a14c-4ab5-a7e0-6326c4f6b785", 
"resource": { 
  "eventTimestamp": "2022-02-09T20:47:53Z", 
  "operationType": "Create", 
  "ownerId": "table3", 
  "ownerResourceId": "tOdDALBwexw=", 
  "rid": "01DtkgAAAA==" 
}, 
"type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables" 

  }, 
] 

Een lijst weergeven van alle resources van een API voor tabelaccount die beschikbaar zijn om te herstellen op een bepaalde tijdstempel en regio

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" 

Hieronder volgt het resultaat van de opdracht.

{   
  "tableNames": [ 
"table1", 
"table3", 
"table2" 

  ] 
} 

Herstellen met behulp van de Azure Resource Manager-sjabloon

U kunt ook een account herstellen met behulp van een ARM-sjabloon (Azure Resource Manager). Neem bij het definiëren van de sjabloon de volgende parameters op:

API voor NoSQL- of MongoDB-account herstellen met behulp van een ARM-sjabloon

  1. Stel de createMode parameter in op Herstellen.
  2. Definieer de restoreParameters, u ziet dat de restoreSource waarde wordt geëxtraheerd uit de uitvoer van de az cosmosdb restorable-database-account list opdracht voor uw bronaccount. Het kenmerk Exemplaar-id voor uw accountnaam wordt gebruikt om de herstelbewerking uit te voeren.
  3. Stel de restoreMode parameter in op PointInTime en configureer de restoreTimestampInUtc waarde.

Gebruik de volgende ARM-sjabloon om een account te herstellen voor de Azure Cosmos DB-API voor NoSQL of MongoDB. Voorbeelden voor andere API's worden hierna weergegeven.

{
  "$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/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/6a18ecb8-88c2-4005-8dce-07b44b9741df",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "6/24/2020 4:01:48 AM",
            "restoreWithTtlDisabled": "true"
        }
      }
    }
  ]
}

API voor Gremlin-account herstellen met behulp van ARM-sjabloon

{
  "$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/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/5cb9d82e-ec71-430b-b977-cd6641db85bc",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2021-10-27T23:20:46Z",
            "gremlinDatabasesToRestore": [{ 
                "databaseName": "db1", 
                "graphNames": [ 
                    "graph1", "graph2" 
                ] 
            }]
        }
      }
    }
  ]
}

API voor tabelaccount herstellen met behulp van EEN ARM-sjabloon

{
  "$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/1296c352-5d33-40d9-bc05-4d56dc2a7521/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4bcb9d82e-ec71-430b-b977-cd6641db85ad",
            "restoreMode": "PointInTime",
            "restoreTimestampInUtc": "2022-04-13T10:20:46Z",
             "tablesToRestore": [ 
                "table1", "table2" 
            ] 
        }
      }
    }
  ]
}

Implementeer vervolgens de sjabloon met behulp van Azure PowerShell of Azure CLI. In het volgende voorbeeld ziet u hoe u de sjabloon implementeert met een Azure CLI-opdracht:

az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath> 

Volgende stappen