0

我正在尝试在我的 azure sql 数据仓库的主数据库上创建一个主密钥。但是我的用户没有这样做所需的权限。需要为 azure sql 数据仓库的用户或登录分配/授予哪些角色?我能够使用 SSMS 的 GUI 向本地 sql server 实例的用户授予控制权限。而且我还能够在该 sql server 的主数据库上的该角色的帮助下创建一个主密钥。我用于此的脚本是:

CREATE LOGIN LoaderRC20 WITH PASSWORD = 'a123STRONGpassword!';
CREATE USER LoaderRC20 FOR LOGIN LoaderRC20;
ALTER ROLE dbmanager ADD MEMBER [LoaderRC20];
ALTER ROLE loginmanager ADD MEMBER [LoaderRC20];
ALTER ROLE db_owner ADD MEMBER [LoaderRC20];
GRANT CONTROL ON DATABASE::[master] to LoaderRC20;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';

但是没有直接规定可以使用 SSMS 的 GUI 在 azure sql 仓库上为用户提供这种访问权限。我用于本地 sql 服务器实例的脚本不适用于 azure sql 数据仓库。数据库上的 GRANT CONTROL::[master ] 到 LoaderRC20;抛出无法授予、拒绝或撤销您自己、sa、dbo、sys 等权限的错误。是否有任何脚本可以授予 azure sql 数据仓库的 master db 用户权限,以便我能够在其上创建主密钥?如果是,那么这些脚本及其顺序是什么?我真的很努力地寻找这些问题的答案问题。请帮我找到答案

4

1 回答 1

0

Dbmanager 用于创建数据库和 loginmanager 来管理登录。

要在 Azure SQL 中创建主密钥 (CREATE MASTER KEY),只需在用户 Azure SQL 数据库上下文而不是主数据库上运行以下语句。如果您尝试在 master 数据库上创建主密钥,您可能会遇到错误“Msg 15247”。在任何用户数据库的上下文中,您可以尝试:

CREATE MASTER KEY 
GO

或者

CREATE MASTER KEY ENCRYPTION BY PASSWORD='MyPassw0rdIsComplex.'
GO
于 2019-12-28T21:10:26.840 回答