如何在主数据库上创建主密钥?要授予主数据库的登录名和用户相同的权限,需要扮演什么角色?

问题描述 投票:0回答:1

我正在尝试在我的azure sql数据仓库的主数据库上创建一个主密钥。但是我的用户没有所需的权限。需要将什么角色分配/授予给azure sql数据仓库用户或登录?我能够使用SSMS的GUI向本地SQL Server实例的用户授予控制权限。而且我还可以借助该角色在该sql服务器的主数据库上创建一个主密钥。我使用的脚本是:

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 Server实例的脚本不适用于Azure SQL数据仓库。GRANTCONTROL ON DATABASE :: [master]到LoaderRC20;引发了一个错误,该错误无法授予,拒绝或撤消您自己,sa,dbo,sys等的权限。是否有任何脚本可以授予azure sql数据仓库的主数据库用户权限,以便我可以在其上创建主密钥?如果是,那么这些脚本及其顺序是什么?问题。请帮助我找到答案

sql-server azure azure-sql-database database-administration azure-sql-data-warehouse
1个回答
0
投票

Dbmanager用于创建数据库,而loginmanager用于管理登录。

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

CREATE MASTER KEY 
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD='MyPassw0rdIsComplex.'
GO
© www.soinside.com 2019 - 2024. All rights reserved.