创建SQL Server非对称密钥遇Azure Key Vault EKM会话错误求排查
以下是你可能遗漏的关键配置检查点:
验证Azure Key Vault访问权限
确认关联SQL凭据的身份(服务主体/托管身份)在AKV的访问策略中,已被授予密钥的Get权限(若用于加密操作还需Unwrap/Wrap Key)。检查身份信息是否正确:服务主体的客户端ID、密钥未过期;托管身份已正确启用并关联到AKV。检查SQL服务账户的本地权限
除注册表权限外,确保NT Service\MSSQLSERVER账户拥有:- SQL Server Connector安装目录(默认
C:\Program Files\SQL Server Connector for Azure Key Vault)的读取权限 - 本地安全策略中「允许本地登录」的权限
- SQL Server Connector安装目录(默认
确认AKV密钥的有效性
核对AKV中密钥名称CMKAuto1的大小写完全匹配(AKV密钥名称区分大小写);确保该密钥是RSA非对称密钥(对称密钥无法被SQL EKM使用),且密钥状态为启用、未被删除。测试网络连通性
在SQL服务器上执行nslookup <你的AKV名称>.vault.azure.net验证DNS解析正常;用Invoke-WebRequest https://<你的AKV名称>.vault.azure.net/keys测试443端口连通性(返回401属正常,仅需确认无网络阻断)。若服务器在内网,检查防火墙/代理是否允许出站访问Azure服务。查看EKM连接器日志
查看AKV连接器日志(默认路径C:\Program Files\SQL Server Connector for Azure Key Vault\Logs),日志会包含更详细的错误细节(如身份验证失败、权限不足等),帮助定位具体问题。确认EKM功能已启用
执行SELECT * FROM sys.configurations WHERE name = 'EKM provider enabled',确保value_in_use值为1。若未启用,执行sp_configure 'EKM provider enabled', 1; RECONFIGURE;开启功能。
内容的提问来源于stack exchange,提问作者ARV

