如何使用ARM模板实现Azure SQL Server备份容器注销与DB重新发现
Azure Backup SQL in Azure VM 场景ARM模板操作方案
1. 容器注销ARM模板实现
直接调整原有注册模板的operationType字段取值即可实现注销,修改后的资源示例如下:
注意:执行注销操作前请确认容器下所有已保护的数据库均已停止保护并删除备份数据,否则注销请求会被Azure Backup服务拦截报错。
"resources": [ { "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", "apiVersion": "2016-12-01", "name": "[concat(parameters('vaultName'), '/', parameters('fabricName'), '/',parameters('protectionContainers')[copyIndex()])]", "properties": { "backupManagementType": "[parameters('backupManagementType')]", "workloadType": "[parameters('workloadType')]", "containerType": "[parameters('protectionContainerTypes')[copyIndex()]]", "sourceResourceId": "[parameters('sourceResourceIds')[copyIndex()]]", "operationType": "Unregister" }, "copy": { "name": "protectionContainersCopy", "count": "[length(parameters('protectionContainers'))]" } } ]
2. 已注册容器内数据库重新发现实现
可以通过ARM模板完成该操作,新增Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems类型的资源配置,指定operationType为Refresh即可触发容器内的SQL实例数据库重新扫描,示例片段如下:
提示:重新发现操作为异步执行,提交模板后可在恢复服务保管库的「备份作业」列表中查看刷新进度,完成后即可看到新增的可保护数据库项。
{ "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", "apiVersion": "2023-02-01", "name": "[concat(parameters('vaultName'), '/', parameters('fabricName'), '/', parameters('protectionContainerName'), '/', 'refresh')]", "properties": { "parentContainerFabricId": "[resourceId('Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers', parameters('vaultName'), parameters('fabricName'), parameters('protectionContainerName'))]", "workloadType": "SQLDataBase", "backupManagementType": "AzureWorkload", "operationType": "Refresh" } }
如果需要批量操作多个容器,也可以添加copy循环逻辑实现批量刷新。
内容的提问来源于stack exchange,提问作者Omkar
相关产品推荐
相关产品推荐

