具有定期模式備份原則的 Azure Cosmos DB 帳戶可以使用 Azure 入口網站、Azure CLI、Azure PowerShell 或 Bicep 範本移轉至連續模式。 從週期性模式移轉至連續模式是單向的,且不可逆轉。 從定期模式移轉至連續模式之後,您可以獲得連續模式的好處。
移轉至連續模式的主要原因:
- 使用 Azure 入口網站、CLI 或 PowerShell 自行還原資料。
- 還原到過去 30 天或 7 天期間內的特定秒。
- 請確定備份在碎片或分割區索引鍵範圍之間保持一致。
- 刪除或變更後,還原容器、資料庫或完整帳戶。
- 選取容器、資料庫或帳戶上的事件,然後選擇何時開始還原。
注意
移轉是單向的,無法逆轉。 從定期模式移轉至連續模式後,就無法切換回來。
只有在這些條件成立時,您才能將帳戶移轉至連續備份模式。 此外,請在移轉之前檢查 時間點還原限制 :
- 該帳戶是 NoSQL、Table、Gremlin 或 MongoDB 的 API。
- 帳戶從未針對容器停用 Azure Synapse Link。
如果帳戶使用 客戶自控金鑰,請在 Key Vault 存取原則中宣告受控識別 (系統指派或使用者指派),並將它設定為帳戶上的預設身分識別。
這很重要
將帳戶移轉至連續備份模式後,與定期備份模式相比,成本可能會變更。 30 天和 7 天之間的選擇也會影響備份成本。 如需詳細資訊,請參閱 連續備份模式定價。
先決條件
- Azure Cosmos DB 帳戶
-
Microsoft.DocumentDB/databaseAccounts/write正在移轉之帳戶的角色型存取控制權限 - 最新版本的 Azure CLI 或 Azure PowerShell
使用入口網站移轉
請使用下列步驟將您的帳戶從定期備份移轉至連續備份模式:
登入 Azure CLI。
az login將帳戶移轉至
continuous30days或continuous7days層級。az cosmosdb update \ --resource-group "<resource-group-name>" \ --name "<account-name>" \ --backup-policy-type "Continuous"az cosmosdb update \ --resource-group "<resource-group-name>" \ --name "<account-name>" \ --backup-policy-type "Continuous" \ --continuous-tier "Continuous7Days"注意
如果您未提供層級值,則預設值為
continuous30days。順利完成移轉之後,輸出會顯示
backupPolicy物件,其中包含值為type的Continuous屬性。{ ... "backupPolicy": { "continuousModeProperties": { "tier": "Continuous7Days" }, "migrationState": null, "type": "Continuous" }, ... }
檢查移轉狀態
使用 Azure CLI 來檢查現有移轉的狀態。
執行下列命令以取得 Azure Cosmos DB 帳戶的屬性。
az cosmosdb show \ --resource-group "<resource-group-name>" \ --name "<account-name>" \檢查
status物件的backupPolicy和targetType屬性。 狀態應該是在移轉開始之後。InProgress{ ... "backupPolicy": { ... "migrationState": { "status": "InProgress", "targetType": "Continuous" }, "type": "Periodic" }, ... }移轉完成後,備份類型會變更為並
Continuous包含所選層。 如果未提供層級,則層級會設定為Continuous30Days。 再次執行相同的az cosmosdb show命令以檢查狀態。{ ... "backupPolicy": { "continuousModeProperties": { "tier": "Continuous7Days" }, "migrationState": null, "type": "Continuous" }, ... }
變更連續模式層級
您可以在 Azure PowerShell、Azure CLI 或 Azure 入口網站 之間切換Continuous30DaysContinous7Days。
下列 Azure CLI 命令說明如何將現有帳戶切換至 Continous7Days:
az cosmosdb update \
--resource-group "<resource-group-name>" \
--name "<account-name>" \
--backup-policy-type "Continuous" \
--continuous-tier "Continuous7Days"
您也可以透過與使用 Azure CLI 和 Azure PowerShell 時類似的方法來使用 ARM 範本。
注意
當您從 30 天層切換到 7 天層時,您會立即失去還原超過 7 天資料的能力。 當您從 7 天層切換到 30 天層時,您只能還原過去 7 天的資料,直到新的備份累積為止。 您可以使用 Azure PowerShell 或 Azure CLI 檢查最早可用的還原時間。 切換等級的任何價格變更都會立即生效。
使用 Bicep 移轉至持續備份
若要使用 Bicep 範本和 Azure Resource Manager 移轉至連續備份模式,請尋找範本的 backupPolicy 區段,並更新 type 屬性。
請考慮以下具有
Periodic備份策略的範例範本:resource azureCosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2025-04-15' = { name: '<account-name>' properties: { // Other required properties omitted for brevity backupPolicy: { type: 'Periodic' periodicModeProperties: { backupIntervalInMinutes: 240 // 4 hours backupRetentionIntervalInHours: 48 // 2 days } } } }更新範例範本,以在
Continuous7 天 方案中使用備份模式:resource azureCosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2025-04-15' = { name: '<account-name>' properties: { // Other required properties omitted for brevity backupPolicy: { type: 'Continuous' continuousModeProperties: { tier: 'Continuous7Days' } } } }使用 Azure PowerShell 或 CLI 部署範本。 下列範例示範如何使用 CLI 命令來部署範本:
az deployment group create \ --resource-group "<resource-group-name>" \ --template-file "<template-file-path>"