开发者社区> 问答> 正文

如何在主数据库上创建主密钥?授予主数据库的登录名和用户相同的GRANT角色是什么?

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

展开
收起
祖安文状元 2020-01-04 15:12:30 714 0
1 条回答
写回答
取消 提交回答
  • Dbmanager用于创建数据库,而loginmanager用于管理登录。

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

    CREATE MASTER KEY 
    GO
    
    

    要么

    CREATE MASTER KEY ENCRYPTION BY PASSWORD='MyPassw0rdIsComplex.'
    GO
    
    2020-01-04 15:12:49
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载