SQL Server 2005 - 查询立即进入挂起状态

时间:2009-03-12 20:38:44

标签: sql-server sql-server-2005

我遇到了管理相当多数据的即席查询的问题。执行查询后,状态立即进入暂停状态。它将保持暂停约25分钟,然后完成执行。

我有一个带有SQL2K的镜像环境,并且在大约2分钟内执行相同的查询,并且永远不会进入暂停状态。

@@ version = Microsoft SQL Server 2005 - 9.00.3068.00(Intel IA-64)2008年2月26日21:28:22版权所有(c)1988-2005 Microsoft Corporation企业版(64位)在Windows NT 5.2(Build 3790:Service Pack 2)上

2 个答案:

答案 0 :(得分:1)

也许统计数据已过期且需要更新。 更新它们,但最好同时重建索引。

或者,你没有。统计信息是否设置为自动创建和更新? 我见过他们被关闭的情况,因为有人不明白他们的目的或更新的发生。

注意:统计数据的采样率基于最后的统计数据更新。因此,如果您上次采样100%,可能需要一些时间。

运行查询两次会发生什么?第二次更快吗?

答案 1 :(得分:0)

很难从有限的信息中得知,但我很想知道在查询运行时从服务器的性能角度发生了什么。您可以使用Perfmon捕获性能指标,我在这里有一个关于它的教程:

http://www.brentozar.com/perfmon

当查询正在运行时,每个计数器的统计信息是什么样的?如果您按照该文章中的描述捕获统计信息,您可以通过brento@brentozar.com向我发送电子邮件给我,我会看看他们看看发生了什么。

另一个有用的是查询的执行计划。进入SQL Server Management Studio,将查询放入,然后单击“查询”,“显示估计执行计划”。右键单击计划中的任意位置并将其另存为文件,然后其他人可以查看查询的外观。

然后,理想情况下,单击“查询”,“包括实际执行计划”,运行查询,然后转到“执行计划”选项卡。保存那个。如果您发布这两个计划(或通过电子邮件发送给我),您将获得有关正在发生的事情的更好答案。