我们的应用程序在数十台服务器上运行,但只有少数几台服务器收到此错误消息。更糟糕的是,导致此错误消息的 SQL 查询似乎正在执行。应用程序运行正常。导致此错误的进程是在 Windows Server 2003 机器上运行的 perl 脚本。数据库托管在同一台机器上。这是导致错误的 SQL:
Update [WorkQueue]
set [Status] = ?
where [id] in
(
select top 1 [id] from [WorkQueue]
where [Status] = 1 order by [id] ASC
)
我们使用 ODBC 通过 TCP/IP 端口 1433 连接到 SQL Server 2005 数据库。问题是,大约每分钟报告三次此错误“通信链接失败 (SQL-08S01)”。我是否应该尝试将连接协议切换为命名管道?