Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 无法在azure sql中为主数据库创建主密钥_Sql Server_Azure_Azure Sql Database_Ssms - Fatal编程技术网

Sql server 无法在azure sql中为主数据库创建主密钥

Sql server 无法在azure sql中为主数据库创建主密钥,sql-server,azure,azure-sql-database,ssms,Sql Server,Azure,Azure Sql Database,Ssms,我正在使用Azure SQL。在Azure Portal中,我在其中创建了1个Azure SQL Server(用户名登录名为user01)和2个Azure SQL数据库(ExDatabase1和ExDatabase2)。 在MicrosoftSQLServerManagementStudio工具中,我使用用户user01成功登录。我正在使用透明数据加密()并尝试使用下面的命令为Master Database创建数据库主密钥: USE master; Go CREATE MASTER KEY E

我正在使用Azure SQL。在Azure Portal中,我在其中创建了1个Azure SQL Server(用户名登录名为
user01
)和2个Azure SQL数据库(
ExDatabase1
ExDatabase2
)。 在
MicrosoftSQLServerManagementStudio
工具中,我使用用户
user01
成功登录。我正在使用透明数据加密()并尝试使用下面的命令为
Master Database
创建数据库主密钥:

USE master;
Go
CREATE MASTER KEY ENCRYPTION by PASSWORD = 'Strongp@ssw0rd';
Go
但是,我收到错误:
Msg 15247,16级,状态1,第3行

用户没有执行此操作的权限。

那么,当前用户的权限是什么(这是所有者数据库)?如何做到这一点?。谢谢

USE语句不支持在数据库之间切换。使用新连接连接到Azure SQL数据库上的其他数据库

要在Azure SQL中创建主密钥,只需在Azure SQL数据库上下文而不是主数据库上运行以下语句

 CREATE MASTER KEY 
 GO
有关完整示例,请阅读文章

可以找到另一个例子


您应该为自己的任何数据库(ExDatabase1和ExDatabase2)创建
主密钥
,并且您还需要具有
控制
权限。如果我要通过
ExDatabase1
更改
主密钥
,请创建主密钥。会成功的!是,应向用户提供所需的permission@Abhishek在加密层次结构中。ExDatabase1和ExDatabase2的数据库主密钥受服务主密钥保护。所以,如何为主数据库设置数据库主密钥我在中被监视并尝试过。但是它是
sqlserver
,而不是
azuresql
CREATE MASTER KEY ENCRYPTION BY PASSWORD='MyPassw0rdIsComplex.'
GO