Azure Cosmos DB的时间点还原功能有助于从容器内的意外更改恢复、还原已删除的资源或将数据还原到备份存在的任何区域中。 连续备份模式允许还原到过去 7 天、30 天或 35 天内的任何时间点。 回去的距离取决于帐户的连续模式的层。
本文介绍如何使用 Azure 门户、PowerShell、CLI 和资源管理器模板为帐户预配连续备份和时间点还原。
注释
只有在满足以下条件时,才能预配连续备份模式帐户:
- 如果帐户的类型为 API for NoSQL 或 API for MongoDB。
- 如果帐户的类型为 API for Table 或 API for Gremlin。
- 如果帐户具有单一写入区域。
使用 Azure 门户进行预配
创建新的 Azure Cosmos DB 帐户时,在“备份策略”选项卡中选择“连续”模式,启用新帐户的时间点还原功能。 使用时间点还原时,数据将还原到新帐户,目前还无法还原到现有帐户。
使用 Azure PowerShell 进行预配
对于 PowerShell 命令,层值是可选的。 如果未提供,帐户备份将保留 30 天。 这些层由值Continuous7DaysContinuous30DaysContinuous35Days或 。
安装最新版本的 Azure PowerShell
- 在预配帐户之前,请安装 Azure PowerShell 6.2.0 以上版本。 有关 Azure PowerShell 最新版本的详细信息,请参阅 Azure PowerShell 最新版本。
- 若要预配
Continuous7Days或Continuous35Days层,请通过运行来Install-Module -Name Az.CosmosDB -AllowPrerelease安装模块的预览版本。 该Continuous35Days层需要 Az.CosmosDB 2.0.10 版或更高版本。
接下来,请使用以下命令连接到 Azure 帐户并选择所需的订阅:
使用以下命令登录到 Azure:
Connect-AzAccount -Environment AzureChinaCloud使用以下命令选择特定订阅:
Select-AzSubscription -Subscription <SubscriptionName>
API for NoSQL 帐户
要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。
以下 cmdlet 假定在 MyRG 资源组中的 China North 3 区域内有一个单区域写入帐户 Pitracct。 帐户已启用连续备份策略。 连续备份在 Continuous7days 层上配置:
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "China North 3" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous7Days `
-Name "pitracct" `
-ApiKind "Sql"
若要预配Continuous35Days层(预览版),请设置为-ContinuousTierContinuous35Days:
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "China North 3" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous35Days `
-Name "pitracct" `
-ApiKind "Sql"
适用于 MongoDB 的 API
以下 cmdlet 是使用 Continuous30Days 层配置的连续备份帐户的示例:
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "China North 3" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous30Days `
-Name "Pitracct" `
-ApiKind "MongoDB" `
-ServerVersion "3.6"
API for Table 帐户
要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。
以下 cmdlet 是使用 Continuous7Days 层配置的连续备份策略的示例:
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "China North 3" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous7Days `
-Name "pitracct" `
-ApiKind "Table"
API for Gremlin 帐户
要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。
以下 cmdlet 是使用 Continuous30Days 层配置的连续备份策略帐户的示例:
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "China North 3" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous30Days `
-Name "pitracct" `
-ApiKind "Gremlin"
使用 Azure CLI 进行预配
对于 CLI 命令,层值是可选的。 如果未提供,帐户备份将保留 30 天。 层由Continuous7Days或 Continuous30DaysContinuous35Days。
在预配帐户之前,请通过以下步骤安装 Azure CLI:
安装最新版本的 Azure CLI,请参阅 Azure CLI
登录并选择你的订阅。
- 使用
az login来命令登录 Azure 账户。 - 使用
az account set -s <subscriptionguid>命令选择所需订阅。
- 使用
API for NoSQL 帐户
若要为具有连续备份的 NoSQL 帐户预配 API,请传递额外的参数--backup-policy-type Continuous以及常规预配命令。 以下命令为具有连续备份策略和 层的命名为 Continuous7Days 单区写入账户的示例:
az cosmosdb create \
--name Pitracct \
--resource-group MyRG \
--backup-policy-type Continuous \
--continuous-tier "Continuous7Days" \
--default-consistency-level Session \
--locations regionName="China North 3"
若要预配Continuous35Days层(预览版),请先安装cosmosdb-previewAzure CLI扩展(版本 1.7.0 或更高版本):
az extension add --name cosmosdb-preview
然后设置为--continuous-tierContinuous35Days:
az cosmosdb create \
--name Pitracct \
--resource-group MyRG \
--backup-policy-type Continuous \
--continuous-tier "Continuous35Days" \
--default-consistency-level Session \
--locations regionName="China North 3"
适用于 MongoDB 的 API
以下命令为具有连续备份策略和 层的命名为 Continuous30Days 单区写入账户的示例:
az cosmosdb create \
--name Pitracct \
--kind MongoDB \
--resource-group MyRG \
--server-version "3.6" \
--backup-policy-type Continuous \
--continuous-tier "Continuous30Days" \
--default-consistency-level Session \
--locations regionName="China North 3"
API for Table 帐户
以下命令为具有连续备份策略和 层的命名为 Continuous30Days 单区写入账户的示例:
az cosmosdb create \
--name Pitracct \
--kind GlobalDocumentDB \
--resource-group MyRG \
--capabilities EnableTable \
--backup-policy-type Continuous \
--continuous-tier "Continuous30Days" \
--default-consistency-level Session \
--locations regionName="China North 3"
API for Gremlin 帐户
以下命令展示了一个名为 Pitracct 的单区域写入账户示例,该账户采用连续备份策略和 Continuous7Days 层,并在 MyRG 资源组下的 China North 3 区域中创建:
az cosmosdb create \
--name Pitracct \
--kind GlobalDocumentDB \
--resource-group MyRG \
--capabilities EnableGremlin \
--backup-policy-type Continuous \
--continuous-tier "Continuous7Days" \
--default-consistency-level Session \
--locations regionName="China North 3"
使用资源管理器模板进行预配
可以使用 Azure 资源管理器模板来部署具有连续模式的 Azure Cosmos DB 帐户。 定义用于预配帐户的模板时,请包括 backupPolicy 和层参数,如以下示例所示。 层可以是 Continuous7Days, Continuous30Days也可以 Continuous35Days。
Continuous35Days 层处于预览阶段。
{
"$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": "China North 3",
"properties": {
"locations": [
{
"locationName": "China North 3"
}
],
"backupPolicy":{
"type":"Continuous",
"continuousModeProperties":{
"tier":"Continuous7Days"
}
}
"databaseAccountOfferType": "Standard"
} }
接下来,使用 Azure PowerShell 或 CLI 部署模板。 下面的示例演示如何使用 CLI 命令部署模板:
az deployment group create -g <ResourceGroup> --template-file <ProvisionTemplateFilePath>
后续步骤
- 还原活动的或已删除的 Azure Cosmos DB 帐户
- 如何将帐户从定期备份迁移到连续备份。
- 连续备份模式资源模型。
- 管理以连续备份模式还原数据所需的权限。