【发布时间】:2019-01-26 11:50:04
【问题描述】:
我正在尝试创建一个新的 SQL Server Azure 实例,然后我想在其中创建一些新数据库。
我从 Azure 门户了解到,某些管理员用户可能是:
- 一个 SA 用户(我认为这意味着“服务器管理员”,它看起来像是管理 SQL Server 实例的某种旧方式,但同时非常“基本”并证明工作)
- 一个 Active Directory 用户(不确定这里的 Azure 术语,但看起来这可能是整个 Azure 平台的一些“广泛用户”,例如我自己的 Azure 门户登录用户,这不是特定于数据库世界)。
我想创建一个带有 SA 用户的 SQL Server 来管理服务器。 在 Azure 门户中,我找不到为 SQL Server 实例的 SA 用户生成 ARM 模板的方法。
我正在从一个 10000 行的 ARM 模板复制粘贴一个很长的 SQL 服务器和数据库列表,但我无法隔离基本步骤来获得一个希望干净且简短的 ARM 模板。
这是我尝试在 Azure 上部署的 ARM 模板:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "westeurope"
},
"foo_sql_server_name": {
"defaultValue": "foo-sql-server",
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"kind": "v12.0",
"name": "[parameters('foo_sql_server_name')]",
"apiVersion": "2015-05-01-preview",
"location": "[parameters('location')]",
"scale": null,
"properties": {
"administratorLogin": "<MY_SA_USER_THAT_I_CAN_NOT_CREATE>",
"version": "12.0"
},
"dependsOn": []
}
]
}
当运行上述内容时:
az group deployment create \
--name "deployDBs" \
--resource-group "MyCustomResourceGroup" \
--template-file ./templates/db.json # --verbose --debug
然后我收到以下错误消息:
Deployment failed. Correlation ID: <A_CUSTOM_GUID>. {
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "InvalidParameterValue",
"message": "Invalid value given for parameter Password. Specify a valid parameter value."
}
]
}
}
当删除 JSON 字段 administratorLogin 时(因为希望我能以某种方式在其他地方创建 SA 用户,我还需要弄清楚),然后我收到以下错误消息:
Deployment failed. Correlation ID: <ANOTHER_CUSTOM_GUID>. {
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "InvalidParameterValue",
"message": "Invalid value given for parameter Login. Specify a valid parameter value."
}
]
}
}
我无法从 10000 行自动生成的 ARM 模板中找到 SA 用户(服务器管理员)的“用户名密码”对的定义。
如何在部署新的 SQL Server 实例时为 SQL Server 创建/注入 SA 用户?
【问题讨论】:
标签: sql-server azure azure-sql-database azure-resource-manager azure-cli