【发布时间】:2011-12-01 19:35:06
【问题描述】:
我有一个 SQL Server 2005 数据库,它在工作时间内与同一个数据库有大约 30-40 个连接。
当我执行报告查询(此查询大约需要 30 分钟到 1 小时)时,其他连接在某些特定表上执行选择/写入时开始超时。此报告查询执行 SELECT 与两个或三个级别的子查询和连接。我查看了 SQL Server 日志,根本找不到任何错误。查看 Activity Monitor 不会显示任何进程正在运行,除了 tempdb(显示正在运行)。检查表上是否有锁,只显示共享锁。
我进一步检查了 tempdb 是否有足够的空间(500MB 可以增长到 10GB)。
您知道可能导致此问题的原因吗?我应该从哪里开始看? (我现在正在考虑优化报告查询)
【问题讨论】:
-
发布您的报告查询或至少其中的相关部分。报告查询中是否还有 NOLOCK 提示?
-
我闻到行/表锁定和死锁的迹象。
标签: sql-server select timeout report