我有一个奇怪的情况,我目前无法解释。我活在希望这只是“周五的感觉”,或者这里的某个和蔼的鞋底会把我的大脑从无尽的“但是为什么”循环中解救出来。“?”
两台运行SQL Server 2005的服务器,DNS条目为:
1. ServerA
2. ServerB
(好吧,他们不是真的这么叫,但这就足够了…)
在这两个SQL Server实例上,都配置了指向另一个服务器的链接服务器。
出于明显的安全原因,LinkedServer安全配置设置为:
- Be made using the login's current security context
其他“链接服务器选项”是…
Collation Compatible: True
Data Access: True
RPC: True
RPC Out: True
Use Remote Collation: True
Collation Name: <blank>
Connection Timeout: 30
Command Timeout: 10
在两个实例上使用相同的密码创建登录。这些登录名被授予对相关存储过程的适当执行权限。
我写了一些代码,然后在那个登录名下执行它,一切正常。
霍拉
但当我创建一个代理作业来运行这些存储过程时,一切都会出错。代理作业的所有者是“自动\作业\登录”,但我的错误日志记录提供了以下内容:
-用户“自动”登录失败
(为了保护罪犯,这个名字又被改了。)
我一辈子都搞不明白为什么当我以那个用户的身份登录时,它会工作,但是当连接到链接服务器时,它会出错。(它确实在链接服务器连接点。)
为了使事情更混乱,如果我将链接服务器安全配置更改为“使用此安全上下文创建”,并使用正确的密码指定“自动\u作业\登录”,它将正常工作。
我错过了什么,我知道我一定错过了,但我找不到什么。我一直在阅读文档,直到我的眼睛流血而失败。请帮帮我:)
[将链接服务器安全选项保留为“使用此安全上下文创建:”不是一个选项,因为这将给该服务器的所有用户不可接受的访问其他服务器的级别。]