43

我正在使用脚本创建 SQL Server 复制。当我尝试执行

The job failed. Unable to determine if the owner (STAR\moorer7) of job L3BPT2M-Atlas-14 has server access (reason: Could not obtain information about Windows NT group/user 'STAR\moorer7', error code 0x5. [SQLSTATE 42000] (Error 15404)).

这是由定义复制的脚本创建的作业。

我该如何调试?

4

9 回答 9

36

Active Directory 拒绝访问您的 SQL 代理。代理应在 STAR 域控制器识别的帐户下运行。

于 2009-08-05T17:30:10.723 回答
9

我们在虚拟机上的测试环境中遇到了类似的错误。如果机器名称因从模板克隆虚拟机而更改,您可能会收到此错误。

如果计算机名称从 OLD 更改为 NEW。

作业使用此存储过程:

msdb.dbo.sp_sqlagent_has_server_access @login_name = 'OLD\Administrator'

哪个使用这个:

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator'

这给出了这个 SQL 错误 15404

select text from sys.messages where message_id = 15404;
Could not obtain information about Windows NT group/user '%ls', error code %#lx.

在这种情况下,我想这是正确的。我们在 VM 克隆/部署过程中添加了一个脚本,用于重新创建 SQL 登录。

于 2012-02-16T21:43:17.813 回答
9

对我来说,这些作业在 DOMAIN\Administrator 下运行并且失败并显示错误消息"The job failed. Unable to determine if the owner (DOMAIN\administrator) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'DOMAIN\administrator', error code 0x5. [SQLSTATE 42000] (Error 15404)).。为了解决这个问题,我将每个失败作业的所有者更改为sa. 之后工作完美无缺。这些作业与复制清理有关,但我不确定它们是手动添加的还是作为复制设置的一部分添加的——我没有参与,所以我不确定。

于 2016-09-19T15:00:59.060 回答
3

就我而言,我在尝试IS_ROLEMEMBER()在 SQL Server 2008 R2 上使用该函数时遇到此错误。此函数在 SQL Server 2012 之前无效。

而不是这个功能,我最终使用

select 1 
from sys.database_principals u 
inner join sys.database_role_members ur 
    on u.principal_id = ur.member_principal_id 
inner join sys.database_principals r 
    on ur.role_principal_id = r.principal_id 
where r.name = @role_name 
and u.name = @username

明显更冗长,但它完成了工作。

于 2013-01-03T18:44:46.803 回答
2

刚刚解决了这个问题。在我的情况下,它是域控制器不可访问,因为两个 dns 服务器都是 google dns。

我只是添加到这个问题的清单:

  • 检查域控制器是否可访问
于 2014-08-04T11:26:20.967 回答
1

我遇到了同样的问题,原来是由运行 SQL 服务的域登录被锁定在 AD 中引起的。锁定是由于使用错误的密码将服务帐户用于其他目的的不相关使用。

从 SQL 代理日志收到的错误没有提及服务帐户的名称,只是无法通过身份验证的用户(作业所有者)的名称(因为它使用服务帐户与 AD 进行检查)。

于 2015-03-04T00:51:01.553 回答
1

我必须连接到 VPN 才能将发布脚本成功部署到数据库。

于 2015-04-25T17:42:06.103 回答
1

在我们的例子中,运行 SQL Server 和 SQL 代理的 Windows 服务帐户在 Active Directory 中被锁定。

于 2019-07-12T12:57:55.760 回答
0

我刚刚收到此错误,结果我的 AD 管理员删除了整个公司中每个 SQL Server 实例使用的服务帐户。谢天谢地,AD 有自己的回收站。

查看您是否可以运行Active Directory 用户和计算机实用程序 (%SystemRoot%\system32\dsa.msc),并检查以确保您所依赖的帐户仍然存在。

于 2020-05-26T22:03:30.567 回答