订阅没有权限注册资源提供程序Microsoft.Sql

时间:2016-11-09 18:00:46

标签: sql-server azure

我设置为azure资源组的贡献者。我已成功创建了一个Web应用程序和一个存储帐户,但我没有权限创建一个sql server和sql db?

我被授予以下角色:

  • 贡献者
  • SQL DB Contributor
  • SQL安全管理器
  • SQL Server Contributor
  • 网站贡献者

但是在创建sql server时我仍然会收到此错误:

"订阅Microsoft Azure Enterprise没有注册资源证明者的权限:Microsoft.Sql。"

enter image description here

4 个答案:

答案 0 :(得分:12)

要克服此错误,您需要订阅所有者权限,或者让某人为您注册具有适当权限的提供者,或者创建自定义角色并将其分配给需要注册提供者的用户。

https://blogs.msdn.microsoft.com/azure4fun/2016/10/20/common-problem-when-using-azure-resource-groups-rbac/

答案 1 :(得分:1)

您尝试添加的内容可能存在相关的安全设置,但您需要做的是确保资源提供程序已注册。您可以在订阅者Take a look at this Azure Screenshot

下看到此链接

答案 2 :(得分:1)

按照accepted answer中标题为“预订注册中的所有提供商”标题中引用的MS博客中的步骤为我工作 - 一旦我意识到我必须先选择正确的订阅。

因此,我在Azure Cloud Shell中运行的为我修复的命令是:

PS Azure:\> Select-AzureRmSubscription -SubscriptionName "<The Subscription Name>"
PS Azure:\> get-AzureRmResourceProvider -ListAvailable | foreach-object{Register-AzureRmResourceProvider -ProviderNamespace $_.ProviderNamespace}

答案 3 :(得分:0)

您不需要订阅提供者权限,但是看起来该订阅缺少Microsoft.Sql Provider。如果运行,请使用Az Module

get-AzResourceProvider -ListAvailable | where-object {$_.Registrationstate -eq "Registered"}

您可以看到它丢失了。要添加它,请运行:

Register-AzResourceProvider -ProviderNamespace Microsoft.Sql.

NB:此答案改编自Blake Erickson对他对自己的问题的回答的评论,实际上,这是正确的做法。与其他答案相反,我认为最好不要注册所有资源提供者,因为这可能是不希望的。

相关问题