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中做一些监视吗?