Een Azure Cosmos DB-account herstellen dat gebruikmaakt van de modus continue back-up
VAN TOEPASSING OP: NoSQL MongoDB Gremlin Tafel
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:
Meld u aan bij het Azure-portaal.
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.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.
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.
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:
Meld u aan bij het Azure-portaal.
Zoek naar Azure Cosmos DB-resources in de algemene zoekbalk. Hierin worden al uw bestaande accounts weergegeven.
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.
Kies het account dat u wilt herstellen.
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.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 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:
Meld u aan bij Azure Portal en navigeer naar het herstelde account.
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:
Meld u aan bij Azure met behulp van de volgende opdracht:
Connect-AzAccount
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/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"
}
Net als bij of CreationTime
DeletionTime
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:
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.
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.
- Meld u met de
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 <TargetResourceGroup> \
--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/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"
}
Net als bij of CreationTime
DeletionTime
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/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=="
},
}
]
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/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"
}
]
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/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"
},
]
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
- Stel de
createMode
parameter in op Herstellen. - Definieer de
restoreParameters
, u ziet dat derestoreSource
waarde wordt geëxtraheerd uit de uitvoer van deaz cosmosdb restorable-database-account list
opdracht voor uw bronaccount. Het kenmerk Exemplaar-id voor uw accountnaam wordt gebruikt om de herstelbewerking uit te voeren. - Stel de
restoreMode
parameter in op PointInTime en configureer derestoreTimestampInUtc
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/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "6/24/2020 4:01:48 AM",
"restoreWithTtlDisabled": "true"
}
}
}
]
}
API 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/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "2021-10-27T23:20:46Z",
"gremlinDatabasesToRestore": [{
"databaseName": "db1",
"graphNames": [
"graph1", "graph2"
]
}]
}
}
}
]
}
API 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/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"
]
}
}
}
]
}
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
- Continue back-up inrichten met behulp van Azure Portal, PowerShell, CLI of Azure Resource Manager.
- Migreren naar een account van periodieke back-up naar continue back-up.
- Resourcemodel voor continue back-upmodus.
- Machtigingen beheren die nodig zijn om gegevens te herstellen met de modus voor continue back-up.