SQL 2005 作业执行:TCP/IP 与命名管道
美好的一天,
我在 SQL 2005 实例上有 2 个作业,它们运行一个相同的 T-SQL 步骤。该步骤对远程 2005 实例执行跨服务器查询。这些作业之间的唯一区别是一项由系统管理员拥有,而另一项则不是。
系统管理员拥有的作业在代理的启动帐户下执行,不属于系统管理员的作业在作业所有者的帐户下执行。到目前为止,一切都很好。
但是,系统管理员拥有的作业尝试使用 TCP/IP 连接到链接服务器,其他作业则使用命名管道连接到链接服务器。我知道这一点是因为非系统管理员作业因命名管道连接错误而失败。我不想通过命名管道进行连接,因为它不支持 Kerberos。仅配置了一台链接服务器,因此两个查询都在使用它,并且在链接服务器中没有与网络协议相关的属性可设置。
请注意,我知道如果我希望连接成功,远程服务器需要侦听命名管道,但这不是我的问题。我的问题是为什么系统管理员帐户尝试使用 TCP/IP 进行连接,而非系统管理员帐户尝试使用命名管道进行连接?
我继续重现这个,所以这不是侥幸(至少在我的环境中不是)。我是否缺少某些配置设置?谁能解释一下吗?
非常感谢。
Good day,
I've got 2 jobs on a SQL 2005 instance that run one identical T-SQL step. That step executes a cross server query to a remote 2005 instance. The only difference between the jobs is one is owned by a sysadmin and one is not.
The job that is owned by a sysadmin executes under the Agent's startup account and the one that is not owned by a sysadmin executes under the job owner's account. So far so good.
However, the job owned by a sysadmin attempts to connect to the linked server using TCP/IP, the other using Named Pipes. I know this because the non-sysadmin job fails with a Named Pipes connection error. I don't want to connect over Named Pipes because it does not support Kerberos. There is only one linked server configured so both queries are using it and there is no property to set in the linked server that relates to network protocol.
Note, I understand the remote server needs to listen on Named Pipes if I want the connection to succeed, but that's not my question. My question is why does the sysadmin account attemtpt to connect using TCP/IP and the non-sysadmin account attempt to connect using Named Pipes?
I continue to reproduce this, so it's not a fluke (at least not in my environment). Am I missing some configuration setting? Can anyone explain this?
Thanks so much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能是在 sysadmin 配置文件下,使用 CliConfg.exe 实用程序为服务器设置了一个别名。
It could be that under the sysadmin profile, there is an alias set up for the server using the CliConfg.exe utility.