在上篇文章Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5里面,我介绍了SQL Server服务启动账号域账号锁定的情况下,有些Job Owner为域账号的作业执行会报错,其实在域账号被锁定的情况下(该域账号是SQL Server服务的启动账号),执行xp_cmdshell也会出错,错误信息如下所示:
在执行xp_cmdshell的过程中出错,调用'LogonUserW'失败,错误代码:'1909'
默认情况下,只有 sysadmin 固定服务器角色的成员才能执行xp_cmdshell此扩展存储过程。当然也可以授予其他用户执行此存储过程的权限。当用户不是 sysadmin 组的成员时,xp_cmdshell 将模拟使用 xp_sqlagent_proxy_account 指定的 SQL Server代理程序的代理帐户(也就是域账号)。如果代理帐户不能用(域账号被锁),则 xp_cmdshell 将失败。报”在执行xp_cmdshell的过程中出错,调用'LogonUserW'失败,错误代码:'1909'错误”。