Ron*_*red 19 database sql-server-2005 progress monitor
我看到一个类似的问题,询问如何监视备份/恢复操作的进度: 是否有一个SQL脚本可以用来确定SQL Server备份或恢复过程的进度?
我想知道是否有类似的查询/方式来查看查询剩余的时间,直到它结束. 例如,一个查询通常具有5分钟的经过时间.我想知道在查询执行期间它将结束多长时间.
Joh*_*ohn 20
你想要的是实时查询统计.
您可以在最新版本的SSMS中激活它,并在旁边的按钮旁边提供正常的查询计划:
然后,这会为您提供实时查询计划:
在底部,您可以看到总进度:
KM.*_*KM. 17
没有办法知道剩下多少时间.查询的运行时取决于实际查询本身以外的许多内容:锁定/阻止其他查询,其他进程消耗资源(CPU /磁盘使用),操作系统,网络等.如果您的5分钟查询正在运行,那该怎么办?其他人开始发布大型报告,您的查询现在可能会在5:30开始.如果有人开始下载大文件并占用所有网络带宽怎么办?如果操作系统决定在后台执行某些操作,等等.如果返回所有行,则查询不会完成,但可以在可变时间范围内运行.
小智 15
sys.dm_exec_requests 有这个信息,所以这样的东西会给你进步:
SELECT
percent_complete
FROM sys.dm_exec_requests
--where session_id=51 or command like 'restore%'
Run Code Online (Sandbox Code Playgroud)
小智 6
是的,除非有某些意外情况影响流程的执行,否则您可以知道估计的经过时间。
Select total_elapsed_time,
* from sys.dm_exec_sessions where session_id="your Id here"
Run Code Online (Sandbox Code Playgroud)