尝试在Azure SQL数据库上创建外部数据源的权限问题

时间:2018-02-15 17:10:26

标签: azure azure-sql-database azure-storage

请耐心等待我学习Azure。我在我的资源组中有一个SQL Server数据库,以及一个带容器的blob存储帐户。我是这些资源的所有者。

我正在尝试在我的SQL数据库上创建一个外部数据源以链接到我的blob存储帐户,但我遇到了一个我似乎无法解决的权限问题。运行查询:

CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH (
    TYPE = BLOB_STORAGE,
    LOCATION = 'https://[redacted].blob.core.windows.net/'
);

返回此错误消息:

Msg 15247, Level 16, State 1, Line 1
User does not have permission to perform this action.

我的谷歌似乎在背叛我,因为我似乎找不到任何关于这个问题的提法。我错过了什么基本的东西?我浏览了我的Azure仪表板,但我找不到任何明显的方法来管理特定的数据库权限,虽然我会假设,鉴于我是所有者,我有最大可能的权限?

2 个答案:

答案 0 :(得分:1)

请提供如下所示的凭证:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'some strong password';

CREATE DATABASE SCOPED CREDENTIAL MyAzureBlobStorageCredential
 WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
 SECRET = 'sv=2015-12-11&ss=b&srt=sco&sp=rwac&se=2017-02-01T00:55:34Z&st=2016-12-29T16:55:34Z&spr=https&sig=copyFromAzurePortal';

CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
 WITH ( TYPE = BLOB_STORAGE,
        LOCATION = 'https://myazureblobstorage.blob.core.windows.net',
        CREDENTIAL= MyAzureBlobStorageCredential);

答案 1 :(得分:0)

尝试创建EXTERNAL DATA SOURCE时遇到相同的错误。对我有用的是为数据库用户添加授予CONTROL

GRANT CONTROL to your_db_user