SQL 2005 作业执行:TCP/IP 与命名管道

Posted

技术标签:

【中文标题】SQL 2005 作业执行:TCP/IP 与命名管道【英文标题】:SQL 2005 Job Execution: TCP/IP vs Named Pipes 【发布时间】:2009-09-24 14:18:37 【问题描述】:

早安,

我在 SQL 2005 实例上有 2 个作业,它们运行一个相同的 T-SQL 步骤。该步骤对远程 2005 实例执行跨服务器查询。工作之间的唯一区别是一个由系统管理员拥有,一个不是。

系统管理员拥有的作业在代理的启动帐户下执行,不属于系统管理员的作业在作业所有者的帐户下执行。到目前为止一切顺利。

但是,系统管理员拥有的作业尝试使用 TCP/IP 连接到链接服务器,另一个使用命名管道。我知道这一点是因为非系统管理员作业因命名管道连接错误而失败。我不想通过命名管道连接,因为它不支持 Kerberos。仅配置了一个链接服务器,因此两个查询都在使用它,并且在链接服务器中没有设置与网络协议相关的属性。

注意,如果我希望连接成功,我知道远程服务器需要侦听命名管道,但这不是我的问题。我的问题是为什么 sysadmin 帐户尝试使用 TCP/IP 进行连接,而非 sysadmin 帐户尝试使用命名管道进行连接?

我会继续复制它,所以这不是侥幸(至少在我的环境中不是)。我错过了一些配置设置吗?谁能解释一下?

非常感谢。

【问题讨论】:

【参考方案1】:

可能是在 sysadmin 配置文件下,使用 CliConfg.exe 实用程序为服务器设置了一个别名。

【讨论】:

以上是关于SQL 2005 作业执行:TCP/IP 与命名管道的主要内容,如果未能解决你的问题,请参考以下文章

关于配置sql server 2005的问题

自动打开命名管道和 tcp\ip

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败

自动启用命名管道和 TCP/IP 协议 SQL Server 2008 R2

在夜间作业中编写 SQL 2005 数据库结构脚本

Web 服务与 TCP/IP 套接字 (Java) + SQL 连接