执行计划和SQL进入挂起状态

时间:2014-07-02 14:26:16

标签: sql-server sql-server-2008 database-administration

我正在使用SQL Server 2008,它具有以同步模式镜像的数据库。

我正在尝试运行一些更新存储过程,使用一些嵌套连接并且运行正常(显然,与未镜像的服务器相比,性能降低)。

我面临的问题是,如果我选择“显示详细计划”选项。查询开始运行,它实际上进入挂起状态并且无法恢复。我终于完成了SQL的任务。

我有数据库的公共角色,我无法访问任何统计数据。

你能告诉我应该让DBA看到什么(或者一般)吗?

下面提到了SQL服务器的详细信息。

  

产品 - SQL Server Enterprise Edtn-64位。

  1. OS - WIndows NT 6.0
  2. 内存-6143 MB
  3. 处理器-2
  4. 最大服务器内存 - 3072 MB
  5. 最小服务器内存 - 16 MB
  6. 任何有关指导我正确方向的帮助都将受到赞赏。

    此致 大庄

1 个答案:

答案 0 :(得分:1)

因为

1)您已激活[包括实际执行计划]选项,因为

2)有一个WHILE声明

SQL Server将向客户端--Sql Server Management Studio发送WHILE语句每次迭代执行的每个SQL语句的实际执行计划。因此,如果WHILE包含一个简单的UPDATE并执行100次迭代,那么Sql Server将发送UPDATE的执行计划100次!

您应该减少WHILE的迭代次数,或者您可以使用估算的计划。