Przywracanie konta usługi Azure Cosmos DB korzystającego z trybu ciągłej kopii zapasowej
DOTYCZY: NoSQL MongoDB Gremlin Stół
Funkcja przywracania do punktu w czasie usługi Azure Cosmos DB ułatwia odzyskiwanie po przypadkowej zmianie w kontenerze w celu przywrócenia usuniętego konta, bazy danych lub kontenera lub przywrócenia do dowolnego regionu (w którym istniały kopie zapasowe). Tryb ciągłej kopii zapasowej umożliwia przywracanie do dowolnego punktu z ostatnich 30 dni.
W tym artykule opisano sposób identyfikowania czasu przywracania i przywracania konta na żywo lub usuniętego konta usługi Azure Cosmos DB. Pokazano w nim, jak przywrócić konto przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Azure Resource Manager.
Przywracanie konta przy użyciu witryny Azure Portal
Przywracanie konta na żywo z przypadkowej modyfikacji
Za pomocą witryny Azure Portal można przywrócić całe konto na żywo lub wybrane bazy danych i kontenery w tej witrynie. Aby przywrócić dane, wykonaj następujące czynności:
Zaloguj się w witrynie Azure Portal.
Przejdź do konta usługi Azure Cosmos DB i otwórz blok Przywracanie do punktu w czasie.
Uwaga
Blok przywracania w witrynie Azure Portal jest wypełniany tylko wtedy, gdy masz
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
uprawnienia. Aby dowiedzieć się więcej na temat ustawiania tego uprawnienia, zobacz artykuł Uprawnienia do tworzenia kopii zapasowych i przywracania.Wypełnij następujące szczegóły, aby przywrócić:
Punkt przywracania (UTC) — znacznik czasu w ciągu ostatnich 30 dni. Konto powinno istnieć w tym znaczniku czasu. Punkt przywracania można określić w formacie UTC. Może to być tak blisko sekundy, gdy chcesz go przywrócić. Wybierz link Kliknij tutaj, aby uzyskać pomoc dotyczącą identyfikowania punktu przywracania.
Location — region docelowy, w którym jest przywracane konto. Konto powinno istnieć w tym regionie w danym znaczniku czasu (na przykład Zachodnie stany USA lub Wschodnie stany USA). Konto można przywrócić tylko do regionów, w których istniało konto źródłowe.
Przywróć zasób — możesz wybrać pozycję Całe konto lub wybraną bazę danych/kontener do przywrócenia. Bazy danych i kontenery powinny istnieć w danym znaczniku czasu. Na podstawie wybranego punktu przywracania i lokalizacji są wypełniane zasoby przywracania, co umożliwia użytkownikowi wybranie określonych baz danych lub kontenerów, które mają zostać przywrócone.
Grupa zasobów — grupa zasobów, w ramach której zostanie utworzone i przywrócone konto docelowe. Grupa zasobów musi już istnieć.
Przywróć konto docelowe — nazwa konta docelowego. Nazwa konta docelowego musi postępować zgodnie z tymi samymi wytycznymi co podczas tworzenia nowego konta. To konto zostanie utworzone przez proces przywracania w tym samym regionie, w którym istnieje Twoje konto źródłowe.
Po wybraniu powyższych parametrów wybierz przycisk Prześlij , aby rozpocząć przywracanie. Koszt przywracania to jednorazowa opłata, która zależy od rozmiaru danych i kosztu magazynu kopii zapasowych w wybranym regionie. Aby dowiedzieć się więcej, zobacz sekcję Cennik .
Usunięcie konta źródłowego, gdy przywracanie jest w toku, może spowodować niepowodzenie przywracania.
Sygnatura czasowa z możliwością przywracania dla kont na żywo
Aby przywrócić konta na żywo usługi Azure Cosmos DB, które nie zostały usunięte, najlepszym rozwiązaniem jest zawsze identyfikowanie najnowszego znacznika czasu możliwego do przywrócenia dla kontenera. Następnie możesz użyć tego znacznika czasu, aby przywrócić konto do najnowszej wersji.
Identyfikowanie czasu przywracania za pomocą kanału informacyjnego zdarzeń
Jeśli potrzebujesz pomocy przy identyfikowaniu punktu przywracania w witrynie Azure Portal, wybierz link Kliknij tutaj , a następnie przejdź do bloku kanału informacyjnego zdarzeń. Źródło zdarzeń zawiera pełną wierność listy tworzenia, zastępowania, usuwania zdarzeń w bazach danych i kontenerach konta źródłowego.
Jeśli na przykład chcesz przywrócić do punktu przed usunięciem lub zaktualizowaniem określonego kontenera, sprawdź ten kanał zdarzeń. Zdarzenia są wyświetlane w chronologicznie malejącej kolejności czasu, gdy wystąpiły, z ostatnimi zdarzeniami u góry. Możesz przeglądać wyniki i wybierać czas przed lub po zdarzeniu, aby jeszcze bardziej zawęzić czas.
Uwaga
Kanał informacyjny zdarzeń nie wyświetla zmian w zasobach elementów. Zawsze można ręcznie określić dowolny znacznik czasu w ciągu ostatnich 30 dni (o ile konto istnieje w tym czasie) na potrzeby przywracania.
Przywracanie usuniętego konta
Możesz użyć witryny Azure Portal, aby całkowicie przywrócić usunięte konto w ciągu 30 dni od jego usunięcia. Aby przywrócić usunięte konto, wykonaj następujące kroki:
Zaloguj się w witrynie Azure Portal.
Wyszukaj zasoby usługi Azure Cosmos DB na pasku wyszukiwania globalnego. Wyświetla listę wszystkich istniejących kont.
Następnie wybierz przycisk Przywróć . W bloku Przywracanie zostanie wyświetlona lista usuniętych kont, które można przywrócić w okresie przechowywania, czyli 30 dni od czasu usunięcia.
Wybierz konto, które chcesz przywrócić.
Uwaga
Blok przywracania w witrynie Azure Portal jest wypełniany tylko wtedy, gdy masz
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
uprawnienia. Aby dowiedzieć się więcej na temat ustawiania tego uprawnienia, zobacz artykuł Uprawnienia do tworzenia kopii zapasowych i przywracania.Wybierz konto, aby przywrócić i wprowadzić następujące szczegóły, aby przywrócić usunięte konto:
Punkt przywracania (UTC) — znacznik czasu w ciągu ostatnich 30 dni. Konto powinno istnieć w tym znaczniku czasu. Określ punkt przywracania w formacie UTC. Może to być tak blisko sekundy, gdy chcesz go przywrócić.
Lokalizacja — region docelowy, w którym należy przywrócić konto. Konto źródłowe powinno istnieć w tym regionie w danym znaczniku czasu. Przykład Zachodnie stany USA lub Wschodnie stany USA.
Grupa zasobów — grupa zasobów, w ramach której zostanie utworzone i przywrócone konto docelowe. Grupa zasobów musi już istnieć.
Przywróć konto docelowe — nazwa konta docelowego musi postępować zgodnie z tymi samymi wytycznymi co podczas tworzenia nowego konta. To konto zostanie utworzone przez proces przywracania w tym samym regionie, w którym istnieje Twoje konto źródłowe.
Śledzenie stanu operacji przywracania
Po zainicjowaniu operacji przywracania wybierz ikonę Dzwonek powiadomień w prawym górnym rogu portalu. Zawiera on link wyświetlający stan przywracanego konta. Gdy przywracanie jest w toku, stan konta to Tworzenie, po zakończeniu operacji przywracania stan konta zmieni się na Online.
Pobieranie szczegółów przywracania z przywróconego konta
Po zakończeniu operacji przywracania możesz chcieć znać szczegóły konta źródłowego, z których przywrócono lub czas przywracania.
Aby uzyskać szczegóły przywracania z witryny Azure Portal, wykonaj następujące czynności:
Zaloguj się do witryny Azure Portal i przejdź do przywróconego konta.
Przejdź do okienka Eksportuj szablon . Spowoduje to otwarcie szablonu JSON odpowiadającego przywróconym kontu.
Przywracanie konta przy użyciu programu Azure PowerShell
Przed przywróceniem konta zainstaluj najnowszą wersję programu Azure PowerShell lub wyższą niż 9.6.0. Następnie połącz się z kontem platformy Azure i wybierz wymaganą subskrypcję przy użyciu następujących poleceń:
Zaloguj się do platformy Azure przy użyciu następującego polecenia:
Connect-AzAccount
Wybierz określoną subskrypcję za pomocą następującego polecenia:
Select-AzSubscription -Subscription <SubscriptionName>
Wyzwalanie operacji przywracania dla interfejsu API dla konta NoSQL
Następujące polecenie cmdlet to przykład wyzwalania operacji przywracania za pomocą polecenia przywracania przy użyciu konta docelowego, konta źródłowego, lokalizacji, grupy zasobów, PublicNetworkAccess, DisableTtl i znacznika czasu:
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "RestoredAccountName" `
-SourceDatabaseAccountName "SourceDatabaseAccountName" `
-RestoreTimestampInUtc "UTCTime" `
-Location "AzureRegionName" `
-PublicNetworkAccess Disabled `
-DisableTtl $true
Przykład 1: Przywracanie całego konta:
Restore-AzCosmosDBAccount `
-TargetResourceGroupName "MyRG" `
-TargetDatabaseAccountName "Pitracct" `
-SourceDatabaseAccountName "source-sql" `
-RestoreTimestampInUtc "2021-01-05T22:06:00" `
-Location "West US" `
-PublicNetworkAccess Disabled
-DisableTtl $false
Jeśli PublicNetworkAccess
to nie jest ustawione, przywrócone konto jest dostępne z sieci publicznej, upewnij się, że należy przekazać Disabled
do PublicNetworkAccess
opcji wyłączenia dostępu do sieci publicznej dla przywróconego konta. Ustawienie wartości DisableTtl na wartość $true gwarantuje, że czas wygaśnięcia jest wyłączony na przywróconym koncie, a nie dostarcza parametr przywraca konto z włączonym czasem wygaśnięcia, jeśli został ustawiony wcześniej.
Uwaga
W przypadku przywracania z wyłączonym dostępem do sieci publicznej minimalna stabilna wersja modułu Az.CosmosDB to 1.12.0.
Przykład 2. Przywracanie określonych kolekcji i baz danych. W tym przykładzie przywrócono kolekcje MyCol1, MyCol2 z bazy danych MyDB1 i całej bazy danych MyDB2, która zawiera wszystkie pod nim kontenery.
$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"
Przykład 3. Przywracanie interfejsu API dla konta Gremlin. W tym przykładzie przywrócono grafy graph1, graph2 z bazy danych MyDB1 i całej bazy danych MyDB2, która zawiera wszystkie pod nim kontenery.
$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"
Przykład 4. Przywracanie interfejsu API dla konta tabeli. W tym przykładzie tabela table1, table1 z bazy danych 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"
Aby przywrócić konto ciągłe skonfigurowane przy użyciu tożsamości zarządzanej przy użyciu interfejsu wiersza polecenia
Aby przywrócić ciągłe konto klucza zarządzanego przez klienta (CMK), zapoznaj się z krokami podanymi tutaj
Pobieranie szczegółów przywracania z przywróconego konta
Zaimportuj Az.CosmosDB
moduł w wersji 1.12.0 i uruchom następujące polecenie, aby uzyskać szczegóły przywracania. Element restoreTimestamp będzie znajdować się w obiekcie restoreParameters:
Get-AzCosmosDBAccount -ResourceGroupName MyResourceGroup -Name MyCosmosDBDatabaseAccount
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla noSQL
Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić.
Wyświetl listę wszystkich kont, które można przywrócić w bieżącej subskrypcji
Get-AzCosmosDBRestorableDatabaseAccount
Uruchom polecenie programu PowerShell, aby wyświetlić listę wszystkich kont, które można przywrócić w bieżącej subskrypcji.
Odpowiedź zawiera wszystkie konta bazy danych (aktywne i usunięte), które można przywrócić, oraz regiony, z których można je przywrócić.
{
"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"
}
Podobnie jak CreationTime
w przypadku konta , DeletionTime
istnieje CreationTime
również element lub DeletionTime
dla regionu. Te czasy umożliwiają wybranie odpowiedniego regionu i prawidłowego zakresu czasu do przywrócenia do tego regionu.
Wyświetlanie listy wszystkich wersji baz danych SQL na koncie bazy danych na żywo
Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany.
Uruchom następujące polecenie programu PowerShell, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry DatabaseAccountInstanceId
i Location
są uzyskiwane z name
właściwości i location
w odpowiedzi Get-AzCosmosDBRestorableDatabaseAccount
polecenia cmdlet. Atrybut DatabaseAccountInstanceId
odwołuje się do instanceId
właściwości przywracanego źródłowego konta bazy danych:
Get-AzCosmosdbSqlRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Wyświetlanie listy wszystkich wersji kontenerów SQL bazy danych na koncie bazy danych na żywo
Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji kontenerów SQL. To polecenie działa tylko z kontami na żywo. Parametr DatabaseRId
jest ResourceId
bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid
znalezionego Get-AzCosmosdbSqlRestorableDatabase
w odpowiedzi polecenia cmdlet. Odpowiedź zawiera również listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych.
Get-AzCosmosdbSqlRestorableContainer `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Znajdowanie baz danych lub kontenerów, które można przywrócić w dowolnym momencie
Użyj następującego polecenia, aby uzyskać listę baz danych lub kontenerów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.
Get-AzCosmosdbSqlRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Wyliczanie zasobów możliwych do przywrócenia w interfejsie API dla bazy danych MongoDB
Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić. Te polecenia działają tylko dla kont na żywo i są podobne do interfejsu API dla poleceń NoSQL, ale w MongoDB
nazwie polecenia zamiast sql
.
Wyświetlanie listy wszystkich wersji baz danych MongoDB na koncie bazy danych na żywo
Get-AzCosmosdbMongoDBRestorableDatabase `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Wyświetlanie listy wszystkich wersji kolekcji bazy danych MongoDB na koncie bazy danych na żywo
Get-AzCosmosdbMongoDBRestorableCollection `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Wyświetl listę wszystkich zasobów konta bazy danych MongoDB, które jest dostępne do przywrócenia w danym znaczniku czasu i regionie
Get-AzCosmosdbMongoDBRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "West US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla języka Gremlin
Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń na zasobach konta, bazy danych i grafu z możliwością przywracania.
Wyświetlanie listy wszystkich wersji baz danych Gremlin na koncie bazy danych na żywo
Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany.
Uruchom następujące polecenie programu PowerShell, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry DatabaseAccountInstanceId
i Location
są uzyskiwane z name
właściwości i location
w odpowiedzi Get-AzCosmosDBRestorableDatabaseAccount
polecenia cmdlet. Atrybut DatabaseAccountInstanceId
odwołuje się do instanceId
właściwości przywracanego źródłowego konta bazy danych:
Get-AzCosmosdbGremlinRestorableDatabase `
-Location "East US" `
-DatabaseAccountInstanceId <DatabaseAccountInstanceId>
Wyświetlanie listy wszystkich wersji grafów gremlin bazy danych na koncie bazy danych na żywo
Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji interfejsu API dla grafów języka Gremlin. To polecenie działa tylko z kontami na żywo. Parametr DatabaseRId
jest ResourceId
bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid
znalezionego Get-AzCosmosdbGremlinRestorableDatabase
w odpowiedzi polecenia cmdlet. Odpowiedź zawiera również listę operacji wykonywanych na wszystkich grafach w tej bazie danych.
Get-AzCosmosdbGremlinRestorableGraph `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-DatabaseRId "AoQ13r==" `
-Location "West US"
Znajdowanie baz danych lub wykresów, które można przywrócić w dowolnym momencie
Użyj następującego polecenia, aby uzyskać listę baz danych lub wykresów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.
Get-AzCosmosdbGremlinRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla tabeli
Polecenia cmdlet wyliczenia ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dla zasobów konta i tabeli, które można przywrócić.
Wyświetlanie listy wszystkich wersji tabel bazy danych na koncie bazy danych na żywo
Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji tabel. To polecenie działa tylko z kontami na żywo.
Get-AzCosmosdbTableRestorableTable `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US"
Znajdowanie tabel, które można przywrócić w dowolnym momencie
Użyj następującego polecenia, aby uzyskać listę tabel, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.
Get-AzCosmosdbTableRestorableResource `
-DatabaseAccountInstanceId "d056a4f8-044a-436f-80c8-cd3edbc94c68" `
-Location "West US" `
-RestoreLocation "East US" `
-RestoreTimestamp "2020-07-20T16:09:53+0000"
Przywracanie konta przy użyciu interfejsu wiersza polecenia platformy Azure
Przed przywróceniem konta zainstaluj interfejs wiersza polecenia platformy Azure, wykonując następujące czynności:
Instalowanie najnowszej wersji interfejsu wiersza polecenia platformy Azure
- Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure lub wyższą niż 2.52.0.
- Jeśli masz już zainstalowany interfejs wiersza polecenia, uruchom
az upgrade
polecenie , aby zaktualizować do najnowszej wersji. To polecenie będzie działać tylko z interfejsem wiersza polecenia w wersji nowszej niż 2.52.0. Jeśli masz starszą wersję, użyj powyższego linku, aby zainstalować najnowszą wersję.
Zaloguj się i wybierz swoją subskrypcję
- Zaloguj się do konta platformy Azure za pomocą
az login
polecenia . - Wybierz wymaganą subskrypcję przy użyciu
az account set -s <subscriptionguid>
polecenia .
- Zaloguj się do konta platformy Azure za pomocą
Wyzwalanie operacji przywracania przy użyciu interfejsu wiersza polecenia platformy Azure
Najprostszym sposobem wyzwolenia przywracania jest wystawienie polecenia restore o nazwie konta docelowego, konta źródłowego, lokalizacji, grupy zasobów, znacznika czasu (w formacie UTC) oraz opcjonalnie nazw baz danych i kontenerów. Poniżej przedstawiono kilka przykładów wyzwalania operacji przywracania:
Tworzenie nowego konta usługi Azure Cosmos DB przez przywrócenie z istniejącego konta
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
Jeśli --public-network-access
nie ustawiono, przywrócone konto jest dostępne z sieci publicznej. Upewnij się, że należy przekazać Disabled
tę --public-network-access
opcję, aby uniemożliwić dostęp do sieci publicznej dla przywróconego konta. Ustawienie wartości disable-ttl na wartość $true gwarantuje, że czas wygaśnięcia jest wyłączony na przywróconym koncie i nie udostępnia tego parametru przywraca konto z włączonym czasem wygaśnięcia, jeśli został ustawiony wcześniej.
Uwaga
W przypadku przywracania z wyłączonym dostępem do sieci publicznej minimalna stabilna wersja interfejsu wiersza polecenia platformy Azure to 2.52.0.
Utwórz nowe konto usługi Azure Cosmos DB, przywracając tylko wybrane bazy danych i kontenery z istniejącego konta bazy danych
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
Utwórz nowy interfejs API usługi Azure Cosmos DB dla konta języka Gremlin, przywracając tylko wybrane bazy danych i grafy z istniejącego interfejsu API dla konta języka Gremlin
az cosmosdb restore \
--resource-group MyResourceGroup \
--target-database-account-name MyRestoredCosmosDBDatabaseAccount \
--account-name MySourceAccount \
--restore-timestamp 2022-04-13T16:03:41+0000 \
--location "West US" \
--gremlin-databases-to-restore name=MyDB1 graphs=graph1 graph2 \
--gremlin-databases-to-restore name=MyDB2 graphs =graph3 graph4
Utwórz nowy interfejs API usługi Azure Cosmos DB dla konta tabeli, przywracając tylko wybrane tabele z istniejącego interfejsu API dla konta tabel
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
Pobieranie szczegółów przywracania z przywróconego konta
Uruchom następujące polecenie, aby uzyskać szczegóły przywracania. Dane az cosmosdb show
wyjściowe polecenia pokazują wartość createMode
właściwości. Jeśli wartość jest ustawiona na Przywróć, oznacza to, że konto zostało przywrócone z innego konta. Właściwość restoreParameters
zawiera dodatkowe szczegóły, takie jak restoreSource
, które mają identyfikator konta źródłowego. Ostatni identyfikator GUID w parametrze restoreSource
jest instanceId
kontem źródłowym. Obiekt będzie znajdować restoreTimestamp
się w restoreParameters
obiekcie :
az cosmosdb show --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla noSQL
Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić.
Wyświetl listę wszystkich kont, które można przywrócić w bieżącej subskrypcji
Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby wyświetlić listę wszystkich kont, które można przywrócić w bieżącej subskrypcji
az cosmosdb restorable-database-account list --account-name "Pitracct"
Odpowiedź zawiera wszystkie konta bazy danych (aktywne i usunięte), które można przywrócić, oraz regiony, z których można je przywrócić:
{
"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"
}
Podobnie jak CreationTime
w przypadku konta , DeletionTime
istnieje CreationTime
również element lub DeletionTime
dla regionu. Te czasy umożliwiają wybranie odpowiedniego regionu i prawidłowego zakresu czasu do przywrócenia do tego regionu.
Wyświetlanie listy wszystkich wersji baz danych na koncie bazy danych na żywo
Wyświetlenie listy wszystkich wersji baz danych umożliwia wybranie odpowiedniej bazy danych w scenariuszu, w którym rzeczywisty czas istnienia bazy danych jest nieznany.
Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby wyświetlić listę wszystkich wersji baz danych. To polecenie działa tylko z kontami na żywo. Parametry instance-id
i location
są uzyskiwane z name
właściwości i location
w odpowiedzi az cosmosdb restorable-database-account list
polecenia . Atrybut instanceId
jest również właściwością źródłowego konta bazy danych, które jest przywracane:
az cosmosdb sql restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Dane wyjściowe tego polecenia pokazują teraz, kiedy baza danych została utworzona i usunięta.
[
{
"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=="
},
}
]
Wyświetlanie listy wszystkich wersji kontenerów SQL bazy danych na koncie bazy danych na żywo
Użyj następującego polecenia, aby wyświetlić listę wszystkich wersji kontenerów SQL. To polecenie działa tylko z kontami na żywo. Parametr database-rid
jest ResourceId
bazą danych, którą chcesz przywrócić. Jest to wartość atrybutu ownerResourceid
znalezionego az cosmosdb sql restorable-database list
w odpowiedzi polecenia.
az cosmosdb sql restorable-container list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Te dane wyjściowe polecenia zawierają listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych:
[
{
"eventTimestamp": "2021-01-08T23:25:29Z",
"operationType": "Replace",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
{
"eventTimestamp": "2021-01-08T23:25:26Z",
"operationType": "Create",
"ownerId": "procol3",
"ownerResourceId": "OIQ1APZ7U18="
},
]
Znajdowanie baz danych lub kontenerów, które można przywrócić w dowolnym momencie
Użyj następującego polecenia, aby uzyskać listę baz danych lub kontenerów, które można przywrócić w dowolnym momencie. To polecenie działa tylko z kontami na żywo.
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"
}
]
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla konta bazy danych MongoDB
Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń dotyczących zasobów konta, bazy danych i kontenera, które można przywrócić. Te polecenia działają tylko dla kont na żywo.
Wyświetlanie listy wszystkich wersji baz danych MongoDB na koncie bazy danych na żywo
az cosmosdb mongodb restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Wyświetlanie listy wszystkich wersji kolekcji bazy danych MongoDB na koncie bazy danych na żywo
az cosmosdb mongodb restorable-collection list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "AoQ13r==" \
--location "West US"
Wyświetl listę wszystkich zasobów konta bazy danych mongodb, które są dostępne do przywrócenia w danym znaczniku czasu i regionie
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"
Wyświetlanie listy wszystkich wersji baz danych na koncie bazy danych na żywo
Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również źródło kluczowych zdarzeń na zasobach konta, bazy danych i grafu z możliwością przywracania. Te polecenia działają tylko dla kont na żywo.
az cosmosdb gremlin restorable-database list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--location "West US"
Dane wyjściowe tego polecenia pokazują teraz, kiedy baza danych została utworzona i usunięta.
[ {
"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"
}
]
Wyświetlanie listy wszystkich wersji grafów gremlin bazy danych na koncie bazy danych na żywo
az cosmosdb gremlin restorable-graph list \
--instance-id "abcd1234-d1c0-4645-a699-abcd1234" \
--database-rid "OIQ1AA==" \
--location "West US"
Te dane wyjściowe polecenia zawierają listę operacji wykonywanych na wszystkich kontenerach w tej bazie danych:
[ {
"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"
}
]
Znajdowanie baz danych lub wykresów, które można przywrócić w dowolnym momencie
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"
W danych wyjściowych tego polecenia są wyświetlane wykresy, które można przywrócić:
[
{
"databaseName": "db1",
"graphNames": [ "graph1", "graph3", "graph2" ]
}
]
Wyliczanie zasobów możliwych do przywrócenia dla interfejsu API dla konta tabeli
Polecenia wyliczenia opisane poniżej ułatwiają odnajdywanie zasobów, które są dostępne do przywrócenia w różnych znacznikach czasu. Ponadto udostępniają również kanał informacyjny kluczowych zdarzeń dotyczących możliwego do przywrócenia konta i interfejsu API dla zasobów tabeli. Te polecenia działają tylko dla kont na żywo.
Wyświetlanie listy wszystkich wersji tabel na koncie aktywnej bazy danych
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"
},
]
Wyświetl listę wszystkich zasobów interfejsu API dla konta tabeli, które są dostępne do przywrócenia w danym znaczniku czasu i regionie
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"
Poniżej znajduje się wynik polecenia .
{
"tableNames": [
"table1",
"table3",
"table2"
]
}
Przywracanie przy użyciu szablonu usługi Azure Resource Manager
Możesz również przywrócić konto przy użyciu szablonu usługi Azure Resource Manager (ARM). Podczas definiowania szablonu uwzględnij następujące parametry:
Przywracanie interfejsu API dla konta NoSQL lub MongoDB przy użyciu szablonu usługi ARM
- Ustaw parametr na
createMode
Przywróć. - Zdefiniuj
restoreParameters
element , zwróć uwagę, żerestoreSource
wartość jest wyodrębniona z danych wyjściowych polecenia dla konta źródłowegoaz cosmosdb restorable-database-account list
. Atrybut Identyfikator wystąpienia dla nazwy konta służy do przywracania. restoreMode
Ustaw parametr na PointInTime i skonfigurujrestoreTimestampInUtc
wartość.
Użyj następującego szablonu usługi ARM, aby przywrócić konto dla interfejsu API usługi Azure Cosmos DB dla bazy danych NoSQL lub MongoDB. Przykłady dla innych interfejsów API są dostępne w następnej kolejności.
{
"$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"
}
}
}
]
}
Przywracanie interfejsu API dla konta języka Gremlin przy użyciu szablonu usługi ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "ademo-pitr1",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy": {
"type": "Continuous"
},
"databaseAccountOfferType": "Standard",
"createMode": "Restore",
"restoreParameters": {
"restoreSource": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "2021-10-27T23:20:46Z",
"gremlinDatabasesToRestore": [{
"databaseName": "db1",
"graphNames": [
"graph1", "graph2"
]
}]
}
}
}
]
}
Przywracanie interfejsu API dla konta tabeli przy użyciu szablonu usługi ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "ademo-pitr1",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy": {
"type": "Continuous"
},
"databaseAccountOfferType": "Standard",
"createMode": "Restore",
"restoreParameters": {
"restoreSource": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4bcb9d82e-ec71-430b-b977-cd6641db85ad",
"restoreMode": "PointInTime",
"restoreTimestampInUtc": "2022-04-13T10:20:46Z",
"tablesToRestore": [
"table1", "table2"
]
}
}
}
]
}
Następnie wdróż szablon przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. W poniższym przykładzie pokazano, jak wdrożyć szablon za pomocą polecenia interfejsu wiersza polecenia platformy Azure:
az deployment group create -g <ResourceGroup> --template-file <RestoreTemplateFilePath>
Następne kroki
- Aprowizuj ciągłą kopię zapasową przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub usługi Azure Resource Manager.
- Jak przeprowadzić migrację do konta z okresowej kopii zapasowej do ciągłej kopii zapasowej.
- Model zasobów trybu ciągłej kopii zapasowej.
- Zarządzanie uprawnieniami wymaganymi do przywracania danych za pomocą trybu ciągłej kopii zapasowej.