Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询的完成状态_Sql_Sql Server 2008_Monitoring - Fatal编程技术网

Sql 查询的完成状态

Sql 查询的完成状态,sql,sql-server-2008,monitoring,Sql,Sql Server 2008,Monitoring,我想知道这是否可能 如果一个查询占用了这么多时间,我可以看到剩余或完成查询的百分比吗? 系统中的任何位置 我知道这是一个愚蠢的问题,但有时人们会对等待查询完成而不知道需要多长时间感到恼火。有些请求确实有完成百分比的估计值,可以在以下位置查看: 以下命令完成的工作百分比: 改变索引重新组织 带有ALTER DATABASE的自动收缩选项 备份数据库 DBCC CHECKDB DBCC CHECKFILEGROUP DBCC检查表 DBCC INDEXDEFRAG 收缩数据库 DBCC收缩文件 恢

我想知道这是否可能

如果一个查询占用了这么多时间,我可以看到剩余或完成查询的百分比吗? 系统中的任何位置


我知道这是一个愚蠢的问题,但有时人们会对等待查询完成而不知道需要多长时间感到恼火。

有些请求确实有完成百分比的估计值,可以在以下位置查看:

以下命令完成的工作百分比:

  • 改变索引重新组织
  • 带有ALTER DATABASE的自动收缩选项
  • 备份数据库
  • DBCC CHECKDB
  • DBCC CHECKFILEGROUP
  • DBCC检查表
  • DBCC INDEXDEFRAG
  • 收缩数据库
  • DBCC收缩文件
  • 恢复
  • 恢复数据库
  • 回滚
  • TDE加密
不可为空


但您可能对查询请求感兴趣(
SELECT
)。在这种情况下,如果他们花了太多的时间开始想他们到底在干什么,那就叫做你手头有性能问题。将其作为绩效调查。使用类似的方法来识别瓶颈。解决发现的瓶颈。

由于数据库引擎不“知道”完成查询所需的总时间,因此无法直接知道查询需要多长时间。根据查询的逻辑,引擎将扫描/查找各种表和索引,并选择满足条件的行

引擎在逻辑上完成查询并选择所有有效行后,即“完成”

这与文件副本有很大不同,例如,文件系统知道它有X MB的读/写空间


获取所需信息的最佳实用方法可能是记录类似(通过表、联接、筛选器)查询和过去的执行时间,并将其用作当前查询的估计值。

您是否尝试过执行计划和客户机统计数据?但是,我不认为你可以在执行中检查查询。我们能在SP中做一些监视吗?