Azure SQL数据库创建主密钥遇15247错误:服务器管理员无权限?
解决Azure SQL数据库创建主密钥时的权限错误(Msg 15247)
核心原因
你遇到的问题大概率是连接上下文错误:
- 服务器管理员(server-level admin)的权限范围是服务器级,但
CREATE MASTER KEY是数据库级操作,必须在目标用户数据库中执行,而非master数据库。 - Azure SQL的
master数据库主密钥由Azure平台管理,用户(包括服务器管理员)无权在master中创建自定义主密钥。
解决步骤
- 切换到目标用户数据库
执行创建主密钥的语句前,先指定要操作的数据库:USE YourTargetUserDatabase; GO - 重新执行创建主密钥语句
在目标数据库上下文内执行创建命令:CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourComplexPassword123!'; GO
额外排查点
如果切换数据库后仍报错,可检查以下内容:
- 确认你的登录确实是服务器级管理员(而非仅数据库级管理员),可在Azure门户的SQL服务器“设置>管理员”中验证。
- 若数据库属于弹性池,确认没有通过自定义权限策略撤销了服务器管理员的
CONTROL DATABASE权限(这种场景极少出现)。
内容的提问来源于stack exchange,提问作者AEAI
相关产品推荐
相关产品推荐

