SQL Server 2005中的TimeoutException从SQL Server 2000迁移

时间:2011-09-17 00:22:51

标签: sql-server sql-server-2005 timeout database-migration

我最近更新了2000版到2005版的MSSQL服务器,以利用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中工作正常。

有没有办法删除任何类型的超时?该系统完全是内部的,只有少数人使用它,因此没有中断的风险......我更喜欢查询这个烦人的消息。

提前致谢!

2 个答案:

答案 0 :(得分:1)

升级后是否更新了所有统计信息?

How to: Upgrade to SQL Server 2005 (Setup)

  

将数据库引擎升级到SQL Server 2005后,请完成   以下任务:

     

...

     

更新统计信息 - 为了帮助优化查询性能,我们建议您这样做   您在升级后更新所有数据库的统计信息。使用   sp_updatestats存储过程以更新用户定义的统计信息   SQL Server 2005数据库中的表。

     

更新使用率计数器 - 在早期版本的SQL Server中,使用值   对于表和索引行计数和页数可以成为   不正确。要更正任何无效的行数或页数,我们建议您这样做   您在升级后在所有数据库上运行DBCC UPDATEUSAGE。

答案 1 :(得分:0)

您可以在配置文件中或设置连接时设置连接的超时。

SqlCommand1.CommandTimeout = 400000