为 Azure Cosmos DB 帐户预配连续备份和时间点还原

适用于: SQL API Azure Cosmos DB API for MongoDB

Azure Cosmos DB 的时间点还原功能可帮助你从容器内的意外更改中恢复,还原已删除的帐户、数据库或容器,或者还原到任何区域(其中已存在备份)。 通过连续备份模式,可还原到过去 30 天内的任何时间点。

本文介绍如何使用 Azure 门户PowerShellCLI资源管理器模板为帐户预配连续备份和时间点还原。

注意

只有在满足以下条件时,才能预配连续备份模式帐户:

  • 如果帐户的类型为 SQL API 或是 API for MongoDB。
  • 如果帐户的类型为表 API 或 Gremlin API。
  • 如果帐户有单个写入区域。

使用 Azure 门户进行预配

创建新的 Azure Cosmos DB 帐户时,在“备份策略”选项卡中选择“连续”模式,启用新帐户的时间点还原功能。 使用时间点还原时,数据将还原到新帐户,目前还无法还原到现有帐户。

Provision an Azure Cosmos DB account with continuous backup configuration.

表 API 和 Gremlin API 目前为预览版,可以通过 PowerShell 和 Azure CLI 进行预配。

使用 Azure PowerShell 进行预配

在预配帐户之前,请安装最新版 Azure PowerShell 或高于 6.2.0 的版本。 接下来,请使用以下命令连接到 Azure 帐户并选择所需的订阅:

  1. 使用以下命令登录到 Azure:

    Connect-AzAccount -Environment AzureChinaCloud
    
  2. 使用以下命令选择特定订阅:

    Select-AzSubscription -Subscription <SubscriptionName>
    

SQL API 帐户

要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。

以下 cmdlet 是单个区域写入帐户 Pitracct 的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "China North" `
  -BackupPolicyType Continuous `
  -Name "pitracct" `
  -ApiKind "Sql"

适用于 MongoDB 的 API

以下 cmdlet 是在“中国北部”区域的“MyRG”资源组下创建的连续备份帐户“Pitracct”的示例:


New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "China North" `
  -BackupPolicyType Continuous `
  -Name "Pitracct" `
  -ApiKind "MongoDB" `
  -ServerVersion "3.6"

表 API 帐户

要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。

以下 cmdlet 是单个区域写入帐户 Pitracct 的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "China North" `
  -BackupPolicyType Continuous `
  -Name "pitracct" `
  -ApiKind "Table"

Gremlin API 帐户

要为帐户预配连续备份,请添加参数 -BackupPolicyType Continuous 以及常规预配命令。

以下 cmdlet 是单个区域写入帐户 Pitracct 的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


New-AzCosmosDBAccount `
  -ResourceGroupName "MyRG" `
  -Location "China North" `
  -BackupPolicyType Continuous `
  -Name "pitracct" `
  -ApiKind "Gremlin"

使用 Azure CLI 进行预配

在预配帐户之前,请通过以下步骤安装 Azure CLI:

  1. 安装最新版本的 Azure CLI

    • 安装最新版 Azure CLI 或高于 2.26.0 的版本
    • 如果已经安装了 CLI,请运行 az upgrade 命令以更新到最新版本。 此命令仅适用于高于 2.11 的 CLI 版本。 如果有较早的版本,请使用上面的链接安装最新版本。
  2. 登录并选择你的订阅。

    注意

    请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

    • 使用 az login 来命令登录 Azure 账户。
    • 使用 az account set -s <subscriptionguid> 命令选择所需订阅。

SQL API 帐户

若要为 SQL API 帐户预配连续备份,应将额外的参数 --backup-policy-type Continuous 与常规预配命令一起传递。 以下命令是一个名为 Pitracct 的单个区域写入帐户的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


az cosmosdb create \
  --name Pitracct \
  --resource-group MyRG \
  --backup-policy-type Continuous \
  --default-consistency-level Session \
  --locations regionName="China North"

适用于 MongoDB 的 API

以下命令演示一个名为 Pitracct 的单个区域写入帐户的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


az cosmosdb create \
  --name Pitracct \
  --kind MongoDB \
  --resource-group MyRG \
  --server-version "3.6" \
  --backup-policy-type Continuous \
  --default-consistency-level Session \
  --locations regionName="China North"

表 API 帐户

以下命令演示一个名为 Pitracct 的单个区域写入帐户的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


az cosmosdb create \
  --name Pitracct \
  --kind GlobalDocumentDB  \
  --resource-group MyRG \
  --capabilities EnableTable \ 
  --backup-policy-type Continuous \
  --default-consistency-level Session \
  --locations regionName="China North"

Gremlin API 帐户

以下命令演示一个名为 Pitracct 的单个区域写入帐户的示例,其连续备份策略是在“中国北部”区域中的“MyRG”资源组下创建的:


az cosmosdb create \
  --name Pitracct \
  --kind GlobalDocumentDB  \
  --resource-group MyRG \
  --capabilities EnableGremlin \ 
  --backup-policy-type Continuous \
  --default-consistency-level Session \
  --locations regionName="China North"

使用资源管理器模板进行预配

可以使用 Azure 资源管理器模板来部署具有连续模式的 Azure Cosmos DB 帐户。 定义用于预配帐户的模板时,请包括 backupPolicy 参数,如以下示例中所示:

{
  "$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": "2016-03-31",
      "location": "China North",
      "properties": {
        "locations": [
          {
            "locationName": "China North"
          }
        ],
        "backupPolicy": {
          "type": "Continuous"
        },
        "databaseAccountOfferType": "Standard"
      }
    }
  ]
}

接下来,使用 Azure PowerShell 或 CLI 部署模板。 下面的示例演示如何使用 CLI 命令部署模板:

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

后续步骤