显示查询需要在SQL Server中运行多长时间

问题描述:

有没有办法查看SQL Server中的查询有多远?我知道如何在oracle中完成它,但是如果在SQL Server中可行的话,我无法解决这个问题。显示查询需要在SQL Server中运行多长时间

干杯

+0

您可以点击调试 - >步入(F11)对于正在执行的部分代码分析,或者可以创建像在.NET框架中一样切换断点。 – Milee 2012-04-11 08:43:36

+0

看看这个如果你的意思是执行时间:http://*.com/questions/3085864/query-execution-time-in-management-studio-profiler-what-does-it-measure和http ://www.redmondpie.com/following-up-with-query-execution-statistics-in-sql-server-2008/ – Milee 2012-04-11 08:45:55

有没有直接的方法来做到这一点,但如果你的查询不止是一个选择,你可以插入这个“闯关”:

RAISERROR ('Your message here', 0, 1) WITH NOWAIT 

例如

SELECT ... FROM ... 
RAISERROR ('33% .... DONE', 0, 1) WITH NOWAIT 
SELECT ... FROM ... 
RAISERROR ('66% .... DONE', 0, 1) WITH NOWAIT 
... 
... 

您可以在消息窗口中看到进度。

有时这是非常有帮助的事情。

+0

+1,但要注意'%',它是格式说明符的一部分。 – 2012-04-11 14:45:58

不是真的。如果你想要一个命令,会说:这个查询是35%完成你不会有它。 SQL Server不能告诉它完成查询有多远,因为它不能预先知道查询将满足多少行。

你可以做的是run sp_who2 'active'并寻找你的任务。同样,它不会告诉您需要多长时间才能完成,但您可以实时查看信息,了解它正在运行多长时间。

SET STATISTICS TIME ON或跟踪文件将显示您的信息后查询被跑