【发布时间】:2020-01-08 09:27:07
【问题描述】:
我有安装了 SQLSRV01 和 SQLDB01 数据库的 SRV01 服务器。在该服务器上,我在 Windows SQLAgent 帐户下运行了 SQL Server 代理服务(无法更改)。此外,我将链接服务器设置为位于 SRV02 机器上的 SQLSRV02,该机器使用当前安全上下文进行身份验证。我有 Windows 用户 DOMAIN\IntegrationUser01 可以访问两台服务器上的两个数据库。 然后我创建了简单的存储过程,它从远程表中读取数据并将其写入本地(当我以 IntegrationUser01 身份登录到 SQLSRV01 时测试并工作)。 最后,我设置了作业来执行该存储过程。我将 DOMAIN\IntegrationUser01 设置为 JOB 的所有者,并设置为运行步骤的用户(步骤 -> 属性 -> 高级 -> 运行方式)。
它不起作用。作业执行以异常结束:
链接的服务器不能在没有映射的情况下被模拟使用 用于模拟登录。
据我了解,第一步中的 SQLAgent 帐户将自己模拟为 IntegrationUser01 以运行 JOB,然后需要能够通过链接服务器将这些凭据委托给 SRV02 以进行身份验证。由于没有 Kerberos 协议来处理第二个循环,它会在不存在的 SQLSRV02 服务器上查找到 SQL 用户的映射。
是否有可能在没有 Kerberos 的情况下建立这样的架构?或者我只是做错了什么?
【问题讨论】:
标签: sql-server windows-authentication linked-server