احصل على أحدث طابع زمني قابل للاستعادة لحسابات النسخ الاحتياطي المستمر
ينطبق على: NoSQL
MongoDB
العفريت
جدول
توضح هذه المقالة كيفية الحصول على أحدث طابع زمني قابل للاستعادة للحسابات ذات وضع النسخ الاحتياطي المستمر. يشرح كيفية الحصول على آخر وقت قابل للاستعادة باستخدام Azure PowerShell وAzure CLI، ويوفر تنسيق الطلب والاستجابة لأوامر PowerShell وCLI.
يتم دعم هذه الميزة لواجهة برمجة تطبيقات Azure Cosmos DB لحاويات NoSQL وواجهة برمجة التطبيقات ل MongoDB وواجهة برمجة تطبيقات الجدول وواجهة برمجة التطبيقات للرسوم البيانية Gremlin.
هام
بالنسبة لحسابات الكتابة متعددة المناطق، يتم تحديد أحدث طابع زمني قابل للاستعادة بواسطة طابع زمني لحل التعارض (crts
).
حاوية SQL
PowerShell
Get-AzCosmosDBSqlContainerBackupInformation -AccountName <System.String> `
-DatabaseName <System.String> `
[-DefaultProfile <Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer>] `
-Location <System.String> `
-Name <System.String> `
-ResourceGroupName <System.String> [<CommonParameters>]
طلب العينة:
Get-AzCosmosDBSqlContainerBackupInformation -ResourceGroupName "rg" `
-AccountName "sqlpitracc" `
-DatabaseName "db1" `
-Name "container1" `
-Location "eastus"
عينة استجابة (بتنسيق UTC):
LatestRestorableTimestamp
-------------------------
10/26/2021 6:24:25 PM
CLI
az cosmosdb sql retrieve-latest-backup-time -g {resourcegroup} \
-a {accountname} \
-d {db_name} \
-c {container_name} \
-l {location}
طلب العينة:
az cosmosdb sql retrieve-latest-backup-time -g "rg" \
-a "sqlpitracc" \
-d "db1" \
-c "container1" \
-l "eastus"
عينة استجابة (بتنسيق UTC):
{
"continuousBackupInformation": {
"latestRestorableTimestamp": "10/26/2021 5:27:45 PM"
}
}
قاعدة بيانات SQL
استخدم البرنامج النصي التالي للحصول على أحدث طابع زمني قابل للاستعادة لقاعدة بيانات. سيسترد هذا البرنامج النصي عبر جميع الحاويات في قاعدة بيانات محددة، ويرجع الحد الأدنى من أحدث طابع زمني قابل للاستعادة لجميع حاوياته.
Function Get-LatestRestorableTimestampForSqlDatabase {
[CmdletBinding()]
param(
[Parameter(Position = 0, mandatory = $true)]
[string] $resourceGroupName,
[Parameter(Position = 1, mandatory = $true)]
[string] $accountName,
[Parameter(Position = 2, mandatory = $true)]
[string] $databaseName,
[Parameter(Position = 3, mandatory = $true)]
[string] $location)
Write-Host
Write-Host "Latest restorable timestamp for a database is minimum of restorable timestamps of all the underlying containers"
Write-Host
Write-Debug "Listing all containers in database: $databaseName"
$containers = Get-AzCosmosDBSqlContainer -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $databaseName
If (-Not $containers) {
throw "Error: Found no containers to restore in the given database."
}
Write-Debug "Found $($containers.Length) containers under database $databaseName"
$latestRestorableTimestampForDatabase = [DateTime]::MaxValue
foreach ($container in $containers) {
Write-Debug "Getting latest restorable timestamp for container: $($container.Name)"
$latestRestorableTimestampForContainer = Get-AzCosmosDBSqlContainerBackupInformation -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $databaseName -Name $container.Name -Location $location
Write-Debug "Latest Restorable Timestamp for container $($container.Name): $($latestRestorableTimestampForContainer.LatestRestorableTimestamp)"
$latestRestorableTimestampForContainerDateTime = [DateTime]$latestRestorableTimestampForContainer.LatestRestorableTimestamp
If ($latestRestorableTimestampForContainerDateTime -lt $latestRestorableTimestampForDatabase) {
Write-Debug "Latest Restorable Timestamp for container $($container.Name) is less than current database restorable timestamp: $latestRestorableTimestampForDatabase"
$latestRestorableTimestampForDatabase = $latestRestorableTimestampForContainerDateTime
}
Write-Debug "Latest Restorable Timestamp for database so far: $latestRestorableTimestampForDatabase"
}
if ($latestRestorableTimestampForDatabase -eq [DateTime]::MaxValue) {
throw "Error: Failed to retrieve latest backup timestamp for database: $databaseName"
}
Write-Debug "Latest Restorable Timestamp in UTC for database $($databaseName): $latestRestorableTimestampForDatabase"
return $latestRestorableTimestampForDatabase
}
بناء الجملة:
Get-LatestRestorableTimestampForSqlDatabase `
-ResourceGroupName <resourceGroup> `
-AccountName <accountName> `
-DatabaseName <databaseName> `
-Location <location>
طلب العينة:
Import-Module .\LatestRestorableDatabaseForSqlDatabase.ps1
Get-LatestRestorableTimestampForSqlDatabase `
-ResourceGroupName rg `
-AccountName sqlpitracc `
-DatabaseName db1 `
-Location eastus
عينة استجابة (بتنسيق UTC):
Latest restorable timestamp for a database is minimum of restorable timestamps of all the underlying containers
Wednesday, November 3, 2021 8:02:44 PM
حساب SQL
استخدم البرنامج النصي التالي للحصول على أحدث طابع زمني قابل للاستعادة لحساب SQL. سيسترد هذا البرنامج النصي عبر جميع الحاويات في هذا الحساب ويرجع الحد الأدنى من أحدث طابع زمني قابل للاستعادة لجميع حاوياته.
Function Get-LatestRestorableTimestampForSqlAccount {
[CmdletBinding()]
param(
[Parameter(Position = 0, mandatory = $true)]
[string] $resourceGroupName,
[Parameter(Position = 1, mandatory = $true)]
[string] $accountName,
[Parameter(Position = 2, mandatory = $true)]
[string] $location)
Write-Host
Write-Host "Latest restorable timestamp for an account is minimum of restorable timestamps of all the underlying containers"
Write-Host
Write-Debug "Listing all databases in account: $accountName"
$databases = Get-AzCosmosDBSqlDatabase -ResourceGroupName $resourceGroupName -AccountName $accountName
Write-Debug "Found $($databases.Length) databases under account $accountName"
$latestRestorableTimestampForAccount = [DateTime]::MaxValue
foreach ($database in $databases) {
Write-Debug "Listing all containers in database: $($database.Name)"
$containers = Get-AzCosmosDBSqlContainer -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $($database.Name)
If (-Not $containers) {
throw "Error: Found no containers to restore in the given database."
}
Write-Debug "Found $($containers.Length) containers under database $($database.Name)"
foreach ($container in $containers) {
Write-Debug "Getting latest restorable timestamp for container: $($container.Name)"
$latestRestorableTimestampForContainer = Get-AzCosmosDBSqlContainerBackupInformation -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $database.Name -Name $container.Name -Location $location
Write-Debug "Latest Restorable Timestamp for container $($container.Name): $($latestRestorableTimestampForContainer.LatestRestorableTimestamp)"
$latestRestorableTimestampForContainerDateTime = [DateTime]$latestRestorableTimestampForContainer.LatestRestorableTimestamp
If ($latestRestorableTimestampForContainerDateTime -lt $latestRestorableTimestampForAccount) {
Write-Debug "Latest Restorable Timestamp for container $($container.Name) is less than current database restorable timestamp: $latestRestorableTimestampForAccount"
$latestRestorableTimestampForAccount = $latestRestorableTimestampForContainerDateTime
}
Write-Debug "Latest Restorable Timestamp for database so far: $latestRestorableTimestampForAccount"
}
}
if ($latestRestorableTimestampForAccount -eq [DateTime]::MaxValue) {
throw "Error: Failed to retrieve latest backup timestamp for account: $accountName"
}
Write-Debug "Latest Restorable Timestamp in UTC for account $($accountName): $latestRestorableTimestampForAccount"
return $latestRestorableTimestampForAccount
}
بناء الجملة:
Get-LatestRestorableTimestampForSqlAccount `
-ResourceGroupName <resourceGroupName> `
-AccountName <accountName> `
-Location <location>
طلب العينة:
Import-Module .\LatestRestorableTimestampForSqlAccount.ps1
Get-LatestRestorableTimestampForSqlAccount `
-ResourceGroupName rg `
-AccountName sqlpitracc `
-location eastus
عينة استجابة (بتنسيق UTC):
Latest restorable timestamp for an account is minimum of restorable timestamps of all the underlying containers
Wednesday, November 3, 2021 8:11:03 PM
مجموعة MongoDB
PowerShell
Get-AzCosmosDBMongoDBCollectionBackupInformation `
-AccountName <System.String> `
-DatabaseName <System.String> `
[-DefaultProfile <Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer>] `
-Location <System.String> `
-Name <System.String> `
-ResourceGroupName <System.String> [<CommonParameters>]
طلب العينة:
Get-AzCosmosDBMongoDBCollectionBackupInformation `
-ResourceGroupName "rg" `
-AccountName "mongodbpitracc" `
-DatabaseName "db1" `
-Name "col1" `
-Location "eastus"
عينة استجابة (بتنسيق UTC):
LatestRestorableTimestamp
-------------------------
10/26/2021 6:27:22 PM
CLI
az cosmosdb mongodb retrieve-latest-backup-time \
-g {resourcegroup} \
-a {accountname} \
-d {db_name} \
-c {collection_name} \
-l {location}
طلب العينة:
az cosmosdb mongodb retrieve-latest-backup-time \
-g "rg" \
-a "mongodbpitracc" \
-d "db1" \
-c "col1" \
-l "eastus"
نموذج الاستجابة:
{
"continuousBackupInformation": {
"latestRestorableTimestamp": "10/26/2021 5:27:45 PM"
}
}
قاعدة بيانات MongoDB
استخدم البرنامج النصي التالي للحصول على أحدث طابع زمني قابل للاستعادة لقاعدة بيانات. سيسترد هذا البرنامج النصي من خلال جميع المجموعات في قاعدة البيانات هذه، وسيرجع الحد الأدنى من أحدث طابع زمني قابل للاستعادة من جميع مجموعاته.
Function Get-LatestRestorableTimestampForMongoDBDatabase {
[CmdletBinding()]
param(
[Parameter(Position = 0, mandatory = $true)]
[string] $resourceGroupName,
[Parameter(Position = 1, mandatory = $true)]
[string] $accountName,
[Parameter(Position = 2, mandatory = $true)]
[string] $databaseName,
[Parameter(Position = 3, mandatory = $true)]
[string] $location)
Write-Host
Write-Host "Latest restorable timestamp for a database is minimum of restorable timestamps of all the underlying collections"
Write-Host
Write-Debug "Listing all collections in database: $databaseName"
$collections = Get-AzCosmosDBMongoDBCollection -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $databaseName
If (-Not $collections) {
throw "Error: Found no collections to restore in the given database."
}
Write-Debug "Found $($collections.Length) collections under database $databaseName"
$latestRestorableTimestampForDatabase = [DateTime]::MaxValue
foreach ($collection in $collections) {
Write-Debug "Getting latest restorable timestamp for collection: $($collection.Name)"
$latestRestorableTimestampForCollection = Get-AzCosmosDBMongoDBCollectionBackupInformation -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $databaseName -Name $collection.Name -Location $location
Write-Debug "Latest Restorable Timestamp for collection $($collection.Name): $($latestRestorableTimestampForCollection.LatestRestorableTimestamp)"
$latestRestorableTimestampForCollectionDateTime = [DateTime]$latestRestorableTimestampForCollection.LatestRestorableTimestamp
If ($latestRestorableTimestampForCollectionDateTime -lt $latestRestorableTimestampForDatabase) {
Write-Debug "Latest Restorable Timestamp for collection $($collection.Name) is less than current database restorable timestamp: $latestRestorableTimestampForDatabase"
$latestRestorableTimestampForDatabase = $latestRestorableTimestampForCollectionDateTime
}
Write-Debug "Latest Restorable Timestamp for database so far: $latestRestorableTimestampForDatabase"
}
if ($latestRestorableTimestampForDatabase -eq [DateTime]::MaxValue) {
throw "Error: Failed to retrieve latest backup timestamp for database: $databaseName"
}
Write-Debug "Latest Restorable Timestamp in UTC for database $($databaseName): $latestRestorableTimestampForDatabase"
return $latestRestorableTimestampForDatabase
}
بناء الجملة:
Get-LatestRestorableTimestampForMongoDBDatabase `
-ResourceGroupName <resourceGroup> `
-AccountName <account> `
-DatabaseName <database> `
-Location <location>
طلب العينة:
Import-Module .\LatestRestorableTimestampForMongoDBDatabase.ps1
Get-LatestRestorableTimestampForMongoDBDatabase -ResourceGroupName rg -accountName mongopitracc -databaseName db1 -location eastus
عينة استجابة (بتنسيق UTC):
Latest restorable timestamp for a database is minimum of restorable timestamps of all the underlying collections
Wednesday, November 3, 2021 8:31:27 PM
حساب MongoDB
يمكنك استخدام البرنامج النصي التالي للحصول على أحدث طابع زمني قابل للاستعادة لحساب MongoDB. سيسترد هذا البرنامج النصي من خلال جميع المجموعات في هذا الحساب، وسيرجع الحد الأدنى من أحدث طابع زمني قابل للاستعادة من جميع مجموعاته.
Function Get-LatestRestorableTimestampForMongoDBAccount {
[CmdletBinding()]
param(
[Parameter(Position = 0, mandatory = $true)]
[string] $resourceGroupName,
[Parameter(Position = 1, mandatory = $true)]
[string] $accountName,
[Parameter(Position = 2, mandatory = $true)]
[string] $location)
Write-Host
Write-Host "Latest restorable timestamp for an account is minimum of restorable timestamps of all the underlying collections"
Write-Host
Write-Debug "Listing all databases in account: $accountName"
$databases = Get-AzCosmosDBMongoDBDatabase -ResourceGroupName $resourceGroupName -AccountName $accountName
Write-Debug "Found $($databases.Length) databases under account $accountName"
$latestRestorableTimestampForAccount = [DateTime]::MaxValue
foreach ($database in $databases) {
Write-Debug "Listing all collections in database: $($database.Name)"
$collections = Get-AzCosmosDBMongoDBCollection -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $($database.Name)
If (-Not $collections) {
throw "Error: Found no collections to restore in the given database."
}
Write-Debug "Found $($collections.Length) collections under database $($database.Name)"
foreach ($collection in $collections) {
Write-Debug "Getting latest restorable timestamp for collection: $($collection.Name)"
$latestRestorableTimestampForCollection = Get-AzCosmosDBMongoDBCollectionBackupInformation -ResourceGroupName $resourceGroupName -AccountName $accountName -DatabaseName $database.Name -Name $collection.Name -Location $location
Write-Debug "Latest Restorable Timestamp for collection $($collection.Name): $($latestRestorableTimestampForCollection.LatestRestorableTimestamp)"
$latestRestorableTimestampForCollectionDateTime = [DateTime]$latestRestorableTimestampForCollection.LatestRestorableTimestamp
If ($latestRestorableTimestampForCollectionDateTime -lt $latestRestorableTimestampForAccount) {
Write-Debug "Latest Restorable Timestamp for collection $($collection.Name) is less than current database restorable timestamp: $latestRestorableTimestampForAccount"
$latestRestorableTimestampForAccount = $latestRestorableTimestampForCollectionDateTime
}
Write-Debug "Latest Restorable Timestamp for database so far: $latestRestorableTimestampForAccount"
}
}
if ($latestRestorableTimestampForAccount -eq [DateTime]::MaxValue) {
throw "Error: Failed to retrieve latest backup timestamp for account: $accountName"
}
Write-Debug "Latest Restorable Timestamp in UTC for account $($accountName): $latestRestorableTimestampForAccount"
return $latestRestorableTimestampForAccount
}
بناء الجملة:
Get-LatestRestorableTimestampForMongoDBAccount `
-ResourceGroupName <resourceGroupName> `
-AccountName <accountName> `
-Location <location>
طلب العينة:
Import-Module .\LatestRestorableTimestampForMongoDBAccount.ps1
Get-LatestRestorableTimestampForMongoDBAccount `
-ResourceGroupName rg `
-AccountName mongopitracc `
-Location eastus
عينة استجابة (بتنسيق UTC):
Latest restorable timestamp for an account is minimum of restorable timestamps of all the underlying collections
Wednesday, November 3, 2021 8:33:49 PM
معلومات النسخ الاحتياطي للرسم البياني Gremlin
PowerShell
Get-AzCosmosDBGremlinGraphBackupInformation `
-AccountName <System.String> `
-GremlinDatabaseName <System.String> `
[-DefaultProfile <Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer>] `
-Location <System.String> `
-Name <System.String> `
-ResourceGroupName <System.String> [<CommonParameters>]
طلب العينة:
Get-AzCosmosDBGremlinGraphBackupInformation `
-ResourceGroupName "rg" `
-AccountName "amisigremlinpitracc1" `
-GremlinDatabaseName "db1" `
-Name "graph1" `
-Location "eastus"
عينة استجابة (بتنسيق UTC):
LatestRestorableTimestamp
-------------------------
3/1/2022 2:19:14 AM
CLI
az cosmosdb gremlin retrieve-latest-backup-time \
-g {resourcegroup} \
-a {accountname} \
-d {db_name} \
-c {graph_name} \
-l {location}
طلب العينة:
az cosmosdb gremlin retrieve-latest-backup-time \
-g "rg" \
-a "amisigremlinpitracc1" \
-d "db1" \
-c "graph1" \
-l "eastus"
نموذج الاستجابة:
{
"continuousBackupInformation": {
"latestRestorableTimestamp": "3/2/2022 5:31:13 AM"
}
}
معلومات الجدول الاحتياطي
PowerShell
Get-AzCosmosDBTableBackupInformation `
-AccountName <System.String> `
[-DefaultProfile <Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer>] `
-Location <System.String> `
-Name <System.String> `
-ResourceGroupName <System.String> [<CommonParameters>]
طلب العينة:
Get-AzCosmosDBTableBackupInformation `
-ResourceGroupName "rg" `
-AccountName "amisitablepitracc1" `
-Name "table1" `
-Location "eastus"
عينة استجابة (بتنسيق UTC):
LatestRestorableTimestamp
-------------------------
3/2/2022 2:19:15 AM
CLI
az cosmosdb table retrieve-latest-backup-time \
-g {resourcegroup} \
-a {accountname} \
-c {table_name} \
-l {location}
طلب العينة:
az cosmosdb table retrieve-latest-backup-time \
-g "rg" \
-a "amisitablepitracc1" \
-c "table1" \
-l "eastus"
نموذج الاستجابة:
{
"continuousBackupInformation": {
"latestRestorableTimestamp": "3/2/2022 5:33:47 AM"
}
}