我们有生产服务器数据库和 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/