SQL Server 作业 - 用户登录失败

SQL Server 作业 - 用户登录失败

我尝试每晚运行 SQL Server 作业,但收到错误。

executed as user: NT SERVICE\SQLSERVERAGENT. Login failed for user 'SERVER\INSTANCE$'. [SQLSTATE 28000](Error 18456)

该作业设置为运行引用另一台服务器数据的存储过程。显然,登录失败,但我不明白,因为两台服务器都设置了用户登录NT SERVER\SQLSERVERAGENT。为什么服务器尝试使用用户“ SERVER\INSTANCE$”(真正的错误是存储过程的名称服务器/实例处于开启状态)?我以为 SQL Server 作业使用作业代理登录在其他服务器上运行内容。SQL Server 的版本是 SQL Server 2012。

有哪些潜在的解决方法?

答案1

“NT SERVER\SQLSERVERAGENT” 是本地帐户。由于您连接到远程计算机,因此帐户不同。当在本地帐户下运行时,SQL Server Agent 将无法访问远程数据库服务器。

解决此问题的推荐方法是在 AD 中设置一个服务帐户,并将服务设置为以该 AD 帐户运行。AD 帐户在服务器之间共享,因此如果您将“Domain\SQLAgent”(例如)设置为在服务器 A 和服务器 B 上具有权限,它就会起作用。

任何“NT SERVER*”帐户都不适合您,因为它们是一台机器的本地帐户,即使您在第二台机器上创建了相同的帐户。

相关内容