【发布时间】:2011-11-19 01:52:58
【问题描述】:
我最近将 MSSQL 服务器从 2000 版本更新到 2005,以利用 UDF 并在系统中调整一些结果。问题是我们没有源代码。
所以,我更换了 SQL 版本,并且一切正常……除非我们必须进行大型查询。我收到此错误:
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我已经搜索过它,我得到的是它曾经是一个 CommandTimeout 问题,我必须以编程方式解决,因为它应该在客户端,但这很奇怪,因为它即使处理大查询也总是有效。
我的猜测是这不是客户端,因为在 SQL Server 2000 中运行良好。
有没有办法消除任何类型的超时?该系统完全是内部的,只有少数人使用它,所以没有中断的风险......我更喜欢永远运行的查询而不是这些烦人的消息。
提前致谢!
【问题讨论】:
-
因此,除了更改数据库版本之外,您还使用了 UDF 并“调整”了服务器端代码。您是否尝试回滚您的修复以尝试隔离它是版本问题还是您的“调整”?
-
超时由客户端而不是 SQL Server 设置,因此您无法从 SQL Server 端更改它。
-
@Martin 好的,明白了,但是如果它在客户端,为什么它在 2000 年有效?谢谢!
-
@Gonzalo- 您的某些查询现在需要更长的时间。
-
@Martin 不,他们没有。我已经检查过了。我们以前从未收到过超时错误,即使查询时间较长。
标签: sql-server sql-server-2005 timeout database-migration