Dela via


Återställa ett Azure Cosmos DB-konto som använder läget för kontinuerlig säkerhetskopiering

GÄLLER FÖR: NoSQL MongoDB Gremlin Bord

Azure Cosmos DB:s funktion för återställning till tidpunkt hjälper dig att återställa från en oavsiktlig ändring i en container, återställa ett borttaget konto, en databas eller en container eller återställa till valfri region (där säkerhetskopior fanns). Med läget för kontinuerlig säkerhetskopiering kan du återställa till valfri tidpunkt inom de senaste 30 dagarna.

Den här artikeln beskriver hur du identifierar återställningstiden och återställer ett live- eller borttaget Azure Cosmos DB-konto. Den visar hur du återställer kontot med hjälp av Azure-portalen, PowerShell, CLI eller en Azure Resource Manager-mall.

Återställa ett konto med Hjälp av Azure-portalen

Återställa ett livekonto från oavsiktlig ändring

Du kan använda Azure-portalen för att återställa ett helt livekonto eller valda databaser och containrar under det. Använd följande steg för att återställa dina data:

  1. Logga in på Azure-portalen.

  2. Gå till ditt Azure Cosmos DB-konto och öppna bladet Återställning till tidpunkt.

    Kommentar

    Återställningsbladet i Azure-portalen fylls bara i om du har behörigheten Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read . Mer information om hur du anger den här behörigheten finns i artikeln Säkerhetskopierings- och återställningsbehörigheter .

  3. Fyll i följande information för att återställa:

    • Återställningspunkt (UTC) – en tidsstämpel under de senaste 30 dagarna. Kontot bör finnas vid den tidsstämpeln. Du kan ange återställningspunkten i UTC. Den kan vara så nära den andra när du vill återställa den. Välj länken Klicka här för att få hjälp med att identifiera återställningspunkten.

    • Plats – målregionen där kontot återställs. Kontot bör finnas i den här regionen vid den angivna tidsstämpeln (till exempel USA, västra eller USA, östra). Ett konto kan bara återställas till de regioner där källkontot fanns.

    • Återställ resurs – Du kan antingen välja Hela kontot eller en vald databas/container som ska återställas. Databaserna och containrarna bör finnas vid den angivna tidsstämpeln. Baserat på den valda återställningspunkten och platsen fylls återställningsresurserna i, vilket gör att användaren kan välja specifika databaser eller containrar som behöver återställas.

    • Resursgrupp – Resursgrupp under vilken målkontot ska skapas och återställas. Resursgruppen måste redan finnas.

    • Återställ målkonto – målkontots namn. Målkontonamnet måste följa samma riktlinjer som när du skapar ett nytt konto. Det här kontot skapas av återställningsprocessen i samma region där källkontot finns.

    Återställa ett livekonto från azure-portalen för oavsiktlig ändring.

  4. När du har valt parametrarna ovan väljer du knappen Skicka för att starta en återställning. Återställningskostnaden är en engångsavgift som baseras på storleken på data och kostnaden för lagring av säkerhetskopior i den valda regionen. Mer information finns i avsnittet Prissättning .

Om du tar bort källkontot medan en återställning pågår kan återställningen misslyckas.

Återställningsbar tidsstämpel för livekonton

För att återställa Azure Cosmos DB-livekonton som inte tas bort är det bästa praxis att alltid identifiera den senaste återställningsbara tidsstämpeln för containern. Du kan sedan använda den här tidsstämpeln för att återställa kontot till den senaste versionen.

Använda händelsefeed för att identifiera återställningstiden

När du fyller i återställningspunkten i Azure-portalen, om du behöver hjälp med att identifiera återställningspunkten, väljer du länken Klicka här . Det tar dig till bladet händelseflöde. Händelseflödet innehåller en fullständig återgivningslista över att skapa, ersätta, ta bort händelser i databaser och containrar för källkontot.

Om du till exempel vill återställa till den punkt innan en viss container har tagits bort eller uppdaterats kontrollerar du den här händelsefeeden. Händelser visas i kronologiskt fallande ordning när de inträffade, med de senaste händelserna högst upp. Du kan bläddra igenom resultaten och välja tiden före eller efter händelsen för att ytterligare begränsa din tid.

Använd händelsefeed för att identifiera återställningspunktens tid.

Kommentar

Händelsefeeden visar inte ändringarna i objektresurserna. Du kan alltid ange en tidsstämpel manuellt under de senaste 30 dagarna (så länge kontot finns vid den tidpunkten) för återställning.

Återställa ett borttaget konto

Du kan använda Azure-portalen för att återställa ett borttaget konto helt inom 30 dagar efter borttagningen. Använd följande steg för att återställa ett borttaget konto:

  1. Logga in på Azure-portalen.

  2. Sök efter Azure Cosmos DB-resurser i det globala sökfältet. Den visar alla dina befintliga konton.

  3. Välj sedan knappen Återställ . Bladet Återställ visar en lista över borttagna konton som kan återställas inom kvarhållningsperioden, vilket är 30 dagar från borttagningstiden.

  4. Välj det konto som du vill återställa.

    Återställa ett borttaget konto från Azure-portalen.

    Kommentar

    Återställningsbladet i Azure-portalen fylls bara i om du har behörigheten Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read . Mer information om hur du anger den här behörigheten finns i artikeln Säkerhetskopierings- och återställningsbehörigheter .

  5. Välj ett konto för att återställa och ange följande information för att återställa ett borttaget konto:

    • Återställningspunkt (UTC) – en tidsstämpel under de senaste 30 dagarna. Kontot ska ha funnits vid den tidsstämpeln. Ange återställningspunkten i UTC. Den kan vara så nära den andra när du vill återställa den.

    • Plats – målregionen där kontot måste återställas. Källkontot ska finnas i den här regionen vid den angivna tidsstämpeln. Exempel USA, västra eller USA, östra.

    • Resursgrupp – Resursgrupp under vilken målkontot ska skapas och återställas. Resursgruppen måste redan finnas.

    • Återställ målkontot – Målkontots namn måste följa samma riktlinjer som när du skapar ett nytt konto. Det här kontot skapas av återställningsprocessen i samma region där källkontot finns.

Spåra status för återställningsåtgärden

När du har initierat en återställningsåtgärd väljer du ikonen Meddelandeklocka uppe till höger i portalen. Den ger en länk som visar status för kontot som återställs. När återställning pågår kommer kontots status att vara Skapa. När återställningen har slutförts ändras kontostatusen till Online.

Status för återställt konto ändras från att skapas till online när åtgärden är klar.

Hämta återställningsinformationen från det återställde kontot

När återställningen har slutförts kanske du vill veta den källkontoinformation som du återställde eller återställningstiden.

Använd följande steg för att hämta återställningsinformationen från Azure-portalen:

  1. Logga in på Azure-portalen och gå till det återställde kontot.

  2. Gå till fönstret Exportera mall . Den öppnar en JSON-mall som motsvarar det återställde kontot.

Återställa ett konto med Hjälp av Azure PowerShell

Innan du återställer kontot installerar du den senaste versionen av Azure PowerShell eller version högre än 9.6.0. Anslut sedan till ditt Azure-konto och välj den prenumeration som krävs med följande kommandon:

  1. Logga in på Azure med följande kommando:

    Connect-AzAccount
    
  2. Välj en specifik prenumeration med följande kommando:

    Select-AzSubscription -Subscription <SubscriptionName>
    

Utlösa en återställningsåtgärd för API för NoSQL-konto

Följande cmdlet är ett exempel för att utlösa en återställningsåtgärd med återställningskommandot med hjälp av målkontot, källkontot, platsen, resursgruppen, PublicNetworkAccess, DisableTtl och tidsstämpeln:


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

Exempel 1: Återställa hela kontot:


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


Om PublicNetworkAccess inte har angetts är det återställde kontot tillgängligt från det offentliga nätverket. Se till att gå vidare Disabled till PublicNetworkAccess alternativet för att inaktivera åtkomst till offentligt nätverk för återställt konto. Om du anger DisableTtl till $true ser du till att TTL är inaktiverat för återställt konto, utan att ge parametern återställer kontot med TTL aktiverat om det angavs tidigare.

Kommentar

För återställning med offentlig nätverksåtkomst inaktiverad är den lägsta stabila versionen av Az.CosmosDB som krävs 1.12.0.

Exempel 2: Återställa specifika samlingar och databaser. Det här exemplet återställer samlingarna MyCol1, MyCol2 från MyDB1 och hela databasen MyDB2, som innehåller alla containrar under den.

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

Exempel 3: Återställa API för Gremlin-konto. Det här exemplet återställer grafgraf1, graph2 från MyDB1 och hela databasen MyDB2, som innehåller alla containrar under den.

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

Exempel 4: Återställa API för tabellkonto. Det här exemplet återställer tabellerna table1, table1 från 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"

Så här återställer du ett kontinuerligt konto som har konfigurerats med hanterad identitet med hjälp av CLI

Om du vill återställa ett konto för kundhanterad nyckel (CMK) kan du läsa stegen här

Hämta återställningsinformationen från det återställde kontot

Az.CosmosDB Importera modulversion 1.12.0 och kör följande kommando för att hämta återställningsinformationen. RestoreTimestamp kommer att finnas under objektet restoreParameters:

Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount 

Räkna upp återställningsbara resurser för API för NoSQL

Uppräknings-cmdletarna hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och containerresurserna.

Visa en lista över alla konton som kan återställas i den aktuella prenumerationen

Get-AzCosmosDBRestorableDatabaseAccount Kör PowerShell-kommandot för att visa en lista över alla konton som kan återställas i den aktuella prenumerationen.

Svaret innehåller alla databaskonton (både live och borttagna) som kan återställas och de regioner som de kan återställas från.

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

Precis som CreationTime eller DeletionTime för kontot finns det en CreationTime eller DeletionTime för regionen också. Dessa gånger kan du välja rätt region och ett giltigt tidsintervall för återställning till den regionen.

Visa en lista över alla versioner av SQL-databaser i ett live-databaskonto

Med en lista över alla versioner av databaser kan du välja rätt databas i ett scenario där databasens faktiska existenstid är okänd.

Kör följande PowerShell-kommando för att visa en lista över alla versioner av databaser. Det här kommandot fungerar bara med livekonton. Parametrarna DatabaseAccountInstanceId Location och hämtas från name egenskaperna och location i cmdletens Get-AzCosmosDBRestorableDatabaseAccount svar. Attributet DatabaseAccountInstanceId refererar till egenskapen för instanceId källdatabaskontot som återställs:


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

Visa en lista över alla versioner av SQL-containrar för en databas i ett live-databaskonto

Använd följande kommando för att visa en lista över alla versioner av SQL-containrar. Det här kommandot fungerar bara med livekonton. Parametern DatabaseRId är den ResourceId databas som du vill återställa. Det är värdet för ownerResourceid attributet som finns i cmdletens svar Get-AzCosmosdbSqlRestorableDatabase . Svaret innehåller också en lista över åtgärder som utförs på alla containrar i den här databasen.


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

Hitta databaser eller containrar som kan återställas vid en viss tidsstämpel

Använd följande kommando för att hämta listan över databaser eller containrar som kan återställas vid en viss tidsstämpel. Det här kommandot fungerar bara med livekonton.


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

Räkna upp återställningsbara resurser i API för MongoDB

Uppräkningskommandona som beskrivs nedan hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och containerresurserna. Dessa kommandon fungerar bara för livekonton och liknar API för NoSQL-kommandon men med MongoDB i kommandonamnet i stället för sql.

Visa en lista över alla versioner av MongoDB-databaser i ett live-databaskonto


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

Visa en lista över alla versioner av MongoDB-samlingar av en databas i ett live-databaskonto


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

Visa en lista över alla resurser för ett MongoDB-databaskonto som är tillgängligt för återställning vid en viss tidsstämpel och region


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

Räkna upp återställningsbara resurser för API för Gremlin

Uppräknings-cmdletarna hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och grafresurserna.

Visa en lista över alla versioner av Gremlin-databaser i ett live-databaskonto

Med en lista över alla versioner av databaser kan du välja rätt databas i ett scenario där databasens faktiska existenstid är okänd. Kör följande PowerShell-kommando för att visa en lista över alla versioner av databaser. Det här kommandot fungerar bara med livekonton. Parametrarna DatabaseAccountInstanceId Location och hämtas från name egenskaperna och location i cmdletens Get-AzCosmosDBRestorableDatabaseAccount svar. Attributet DatabaseAccountInstanceId refererar till egenskapen för instanceId källdatabaskontot som återställs:

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

Visa en lista över alla versioner av Gremlin-grafer för en databas i ett live-databaskonto

Använd följande kommando för att visa alla versioner av API:et för Gremlin-grafer. Det här kommandot fungerar bara med livekonton. Parametern DatabaseRId är den ResourceId databas som du vill återställa. Det är värdet för ownerResourceid attributet som finns i cmdletens svar Get-AzCosmosdbGremlinRestorableDatabase . Svaret innehåller också en lista över åtgärder som utförs på alla grafer i den här databasen.

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

Hitta databaser eller grafer som kan återställas vid en viss tidsstämpel

Använd följande kommando för att hämta listan över databaser eller grafer som kan återställas vid en viss tidsstämpel. Det här kommandot fungerar bara med livekonton.

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

Räkna upp återställningsbara resurser för API för tabell

Uppräknings-cmdletarna hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot och tabellresurserna.

Visa en lista över alla versioner av tabeller i en databas i ett live-databaskonto

Använd följande kommando för att visa en lista över alla versioner av tabeller. Det här kommandot fungerar bara med livekonton.

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

Hitta tabeller som kan återställas vid en viss tidsstämpel

Använd följande kommando för att hämta listan över tabeller som kan återställas vid en viss tidsstämpel. Det här kommandot fungerar bara med livekonton.

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

Återställa ett konto med Hjälp av Azure CLI

Innan du återställer kontot installerar du Azure CLI med följande steg:

  1. Installera den senaste versionen av Azure CLI

    • Installera den senaste versionen av Azure CLI eller version högre än 2.52.0.
    • Om du redan har installerat CLI kör az upgrade du kommandot för att uppdatera till den senaste versionen. Det här kommandot fungerar bara med EN CLI-version som är högre än 2.52.0. Om du har en tidigare version använder du länken ovan för att installera den senaste versionen.
  2. Logga in och välj din prenumeration

    • Logga in på ditt Azure-konto med az login kommandot .
    • Välj den prenumeration som krävs med kommandot az account set -s <subscriptionguid> .

Utlösa en återställningsåtgärd med Azure CLI

Det enklaste sättet att utlösa en återställning är genom att utfärda återställningskommandot med namnet på målkontot, källkontot, platsen, resursgruppen, tidsstämpeln (i UTC) och eventuellt databas- och containernamnen. Följande är några exempel för att utlösa återställningsåtgärden:

Skapa ett nytt Azure Cosmos DB-konto genom att återställa från ett befintligt konto


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 

Om --public-network-access inte har angetts är det återställde kontot tillgängligt från det offentliga nätverket. Se till att gå vidare Disabled till alternativet --public-network-access för att förhindra åtkomst till offentligt nätverk för återställt konto. Om du anger disable-ttl till till $true ser du till att TTL är inaktiverat för återställt konto, och om du inte anger den här parametern återställs kontot med TTL aktiverat om det angavs tidigare.

Kommentar

För återställning med offentlig nätverksåtkomst inaktiverad är den lägsta stabila versionen av azure-cli 2.52.0.

Skapa ett nytt Azure Cosmos DB-konto genom att endast återställa valda databaser och containrar från ett befintligt databaskonto


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

Skapa ett nytt Azure Cosmos DB-API för Gremlin-konto genom att endast återställa valda databaser och grafer från ett befintligt API för Gremlin-konto


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 

Skapa ett nytt Azure Cosmos DB-API för tabellkonto genom att endast återställa valda tabeller från ett befintligt API för tabellkonto


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 

Hämta återställningsinformationen från det återställde kontot

Kör följande kommando för att hämta återställningsinformationen. Kommandoutdata az cosmosdb show visar värdet createMode för egenskapen. Om värdet är inställt på Återställ anger det att kontot har återställts från ett annat konto. Egenskapen restoreParameters innehåller ytterligare information, till exempel restoreSource, som har källkontots ID. Det sista GUID:et i parametern restoreSource är instanceId för källkontot. restoreTimestamp Och kommer att vara under objektetrestoreParameters:

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

Räkna upp återställningsbara resurser för API för NoSQL

Uppräkningskommandona som beskrivs nedan hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och containerresurserna.

Visa en lista över alla konton som kan återställas i den aktuella prenumerationen

Kör följande Azure CLI-kommando för att visa en lista över alla konton som kan återställas i den aktuella prenumerationen

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

Svaret innehåller alla databaskonton (både live och borttagna) som kan återställas och de regioner som de kan återställas från:

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

Precis som CreationTime eller DeletionTime för kontot finns det en CreationTime eller DeletionTime för regionen också. Dessa gånger kan du välja rätt region och ett giltigt tidsintervall för återställning till den regionen.

Visa en lista över alla versioner av databaser i ett live-databaskonto

Med en lista över alla versioner av databaser kan du välja rätt databas i ett scenario där databasens faktiska existenstid är okänd.

Kör följande Azure CLI-kommando för att visa en lista över alla versioner av databaser. Det här kommandot fungerar bara med livekonton. Parametrarna instance-id location och hämtas från name egenskaperna och location i kommandots az cosmosdb restorable-database-account list svar. Attributet instanceId är också en egenskap för källdatabaskontot som återställs:

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

Kommandots utdata visar nu när en databas skapades och togs bort.

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

Visa en lista över alla versioner av SQL-containrar för en databas i ett live-databaskonto

Använd följande kommando för att visa en lista över alla versioner av SQL-containrar. Det här kommandot fungerar bara med livekonton. Parametern database-rid är den ResourceId databas som du vill återställa. Det är värdet för ownerResourceid attributet som finns i kommandots az cosmosdb sql restorable-database list svar.

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

Det här kommandot visar en lista över åtgärder som utförs på alla containrar i den här databasen:

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

Hitta databaser eller containrar som kan återställas vid en viss tidsstämpel

Använd följande kommando för att hämta listan över databaser eller containrar som kan återställas vid en viss tidsstämpel. Det här kommandot fungerar bara med livekonton.


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

Räkna upp återställningsbara resurser för API för MongoDB-konto

Uppräkningskommandona som beskrivs nedan hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och containerresurserna. Dessa kommandon fungerar endast för livekonton.

Visa en lista över alla versioner av MongoDB-databaser i ett live-databaskonto

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

Visa en lista över alla versioner av MongoDB-samlingar av en databas i ett live-databaskonto

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

Visa en lista över alla resurser för ett mongodb-databaskonto som är tillgängligt för återställning vid en viss tidsstämpel och region

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"

Visa en lista över alla versioner av databaser i ett live-databaskonto

Uppräkningskommandona som beskrivs nedan hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot, databasen och grafresurserna. Dessa kommandon fungerar endast för livekonton.

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

Kommandots utdata visar nu när en databas skapades och togs bort.

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

Visa en lista över alla versioner av Gremlin-grafer för en databas i ett live-databaskonto

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

Det här kommandot visar en lista över åtgärder som utförs på alla containrar i den här databasen:

[ { 

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

Hitta databaser eller grafer som kan återställas vid en viss tidsstämpel

 
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" 

Det här kommandot visar diagram som kan återställas:

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

Räkna upp återställningsbara resurser för API för tabellkonto

Uppräkningskommandona som beskrivs nedan hjälper dig att identifiera de resurser som är tillgängliga för återställning vid olika tidsstämplar. Dessutom tillhandahåller de även ett flöde av viktiga händelser på det återställningsbara kontot och API:et för tabellresurser. Dessa kommandon fungerar endast för livekonton.

Visa en lista över alla versioner av tabeller i ett livedatabaskonto

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" 

  }, 
] 

Visa en lista över alla resurser i ett API för tabellkonto som är tillgängliga för återställning vid en viss tidsstämpel och region

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" 

Följande är resultatet av kommandot.

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

  ] 
} 

Återställa med hjälp av Azure Resource Manager-mallen

Du kan också återställa ett konto med hjälp av en ARM-mall (Azure Resource Manager). När du definierar mallen ska du inkludera följande parametrar:

Återställa API för NoSQL- eller MongoDB-konto med hjälp av ARM-mall

  1. Ange parametern createMode till Återställ.
  2. restoreParametersDefiniera , observera att restoreSource värdet extraheras från utdata från az cosmosdb restorable-database-account list kommandot för ditt källkonto. Instans-ID-attributet för ditt kontonamn används för att göra återställningen.
  3. Ange parametern restoreMode till PointInTime och konfigurera värdet restoreTimestampInUtc .

Använd följande ARM-mall för att återställa ett konto för Azure Cosmos DB API för NoSQL eller MongoDB. Exempel på andra API:er finns härnäst.

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

Återställa API för Gremlin-konto med hjälp av ARM-mall

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

Återställa API för tabellkonto med hjälp av ARM-mall

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

Distribuera sedan mallen med hjälp av Azure PowerShell eller Azure CLI. I följande exempel visas hur du distribuerar mallen med ett Azure CLI-kommando:

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

Nästa steg