【发布时间】:2024-04-13 13:05:01
【问题描述】:
我有一个任务,我需要使用 ARM 模板来“设置带有弹性池的 SQL 服务器和 2 个数据库(从 bacpac 文件导入)使用 Microsoft Adventureworks 示例。”
我使用此处提供的“101-sql-elastic-pool-create”模板制作的大部分模板:https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-elastic-pool-create 我将它用于弹性池设置,并使用本文档 (https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac) 中的示例将 .bacpac 导入数据库
但是当我尝试部署此模板时(该模板可在此处查看:https://github.com/KarlisAG/SQL_ARM/blob/main/azuredeploy.json),它会抛出一个错误
("Resource Microsoft.Sql/servers/elasticPools 'task4sql/elasticp' failed with message '{ "code": "BadRequest", "message": "An error occurred while processing this request.", "target": null, "details": [], "innererror": [] }' ")
所以,最大的问题是(除了我是一个绝对的新手)不知道我需要修复什么,因为除了“BadRequest”之外没有授予其他信息。对于部署,我使用了两种不同的方法:1)在创建 Azure 资源组时从 VS 自动生成的一种,2)本文档中显示的一种,我自己的更改很少,因此它可以为我工作(https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-deploy-sql-extensions-bacpac#deploy-the-template),来自我还获得了将 .bacpac 导入新创建的数据库的代码部分。 [两者都在同一个存储库中可用,分别命名为“Deploy-AzureResourceGroups.ps1”和“DeployScript.ps1”]。 这两种方法都返回相同的错误。
我什至在 Azure 门户中手动创建了这些东西,以查看它们的模板是什么样子,并可能复制一些我的模板中不存在的东西,但从我看到的内容来看,我得到了它们自动生成的内容。 当我在 Azure 门户中检查部署状态时,我还可以看到在创建弹性池期间它失败了:screenshot from that section available here
那么有谁知道我应该如何创建这种类型的模板,或者我重新创建它的效果不佳,还是我错过了一些一直阻碍我的小错误?
【问题讨论】:
-
我看到你使用的api版本“2020-08-01-preview”,用旧版本试试。我还建议您查看用于创建 ARM 的 visualstudio 代码扩展:marketplace.visualstudio.com/…。
-
@NachoMartínez-Aedo 嗨,谢谢你的回答,但据我所知,api 版本不会有问题,因为在以前的部署中我使用了“2014-04-01-preview”这是最新支持的一个,powershell 告诉我 (
No registered resource provider found for location 'northeurope' and API version '2020-08-01-preview' for type 'servers/databases/extensions'. The supported api-versions are '2014-01-01, 2014-04-01, 2014-04-01-preview'.)。似乎当我上传此代码时,我仍在尝试不同的 api 版本,但遗憾的是并没有改变任何东西。
标签: powershell azure-resource-manager arm-template azure-elasticpool azure-sql