SQL Server凭据是否支持GMSA?创建及代理认证报错咨询
SQL Server凭据对GMSA的支持及问题排查
核心结论
SQL Server完全支持使用组托管服务账户(GMSA)作为凭据,你遇到的登录错误是配置环节遗漏导致的,而非功能不支持。
正确配置步骤
创建GMSA凭据的T-SQL写法
GMSA的密码由Active Directory自动管理,所以创建凭据时绝对不能指定密码,正确语句如下:CREATE CREDENTIAL [ONT\gXYZ$] WITH IDENTITY = N'ONT\gXYZ$' -- 此处不要添加PASSWORD参数SQL Server服务账户权限配置
运行SQL Server数据库引擎的服务账户,必须在Active Directory中拥有该GMSA的读取密码属性和读取SPN权限——这是核心前提,没有这个权限,SQL Server根本没法获取GMSA的自动密码完成验证。代理与凭据的关联及权限
把凭据绑定到SQL Server代理后,要确保代理拥有对应子系统的执行权限(比如操作系统命令、SSIS包执行等);同时GMSA账户本身得有作业执行所需的实际权限,比如目标服务器的登录权限、操作文件的权限等。先验证GMSA本身有效性
在SQL Server所在服务器上执行runas /user:ONT\gXYZ$ cmd,如果能正常打开命令行,说明GMSA在AD层面是正常的,排除AD端问题。
报错原因排查
你碰到的用户名称或密码不正确错误,大概率是这几个问题:
- SQL Server服务账户没有读取GMSA密码的权限,导致无法获取自动管理的密码
- 创建凭据时不小心加了PASSWORD参数,或者IDENTITY里的账户名拼写错误(注意GMSA必须以
$结尾) - GMSA在AD中配置有问题,比如SPN未正确注册、账户状态异常
内容的提问来源于stack exchange,提问作者DGP
相关产品推荐
相关产品推荐

