sql - 操作完成前超时时间已过或服务器未响应

标签 sql database sql-server-2005

我们有生产服务器数据库和 Widnows 客户端项目。我们在查询数据库时突然遇到此错误。

“操作完成前超时时间已过或服务器未响应”

我们如何从数据库端/C# Windows 解决这个问题?

谢谢, 维卢萨米

最佳答案

快速而简单的答案:设置 SqlCommand.CommandTimeout到更高的值。

长答案:

  • 在启用“显示实际执行计划”的情况下在 SSMS 中运行查询。检查索引提示的结果。
  • 检查您的数据库服务器日志是否有可疑事件
  • 验证统计数据没有过时

此查询显示统计年龄:

SELECT  Object_Name(ind.object_id)
,       ind.name
,       STATS_DATE(ind.object_id, ind.index_id) 
FROM    SYS.INDEXES ind 

查询优化器在选择如何执行查询时使用统计信息。如果统计数据过时,它可能会做出(非常)糟糕的选择。

关于sql - 操作完成前超时时间已过或服务器未响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5303335/

相关文章:

数据库;求和 2 个字段,然后将它们相加

mysql - 如何在没有 IFNULL 的情况下获得相同的结果 - MySQL

sql - 如何撤销PostgreSQL中特定字段的权限

MySQL 算作一列

sql-server - 再添加一个连接会降低性能

sql-server - 显示字符串的十六进制转储

sql - 在插入和更新语句中使用 if/else

database - 性能:使用索引和分区 (PostgreSQL)

javascript - 从服务器文件夹下载文件

sql-server-2005 - 检测是否安装了 SQL Server Compact Edition 3.5 SP2 x64?