显示查询需要在SQL Server中运行多长时间
问题描述:
有没有办法查看SQL Server中的查询有多远?我知道如何在oracle中完成它,但是如果在SQL Server中可行的话,我无法解决这个问题。显示查询需要在SQL Server中运行多长时间
干杯
答
有没有直接的方法来做到这一点,但如果你的查询不止是一个选择,你可以插入这个“闯关”:
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或跟踪文件将显示您的信息后查询被跑
您可以点击调试 - >步入(F11)对于正在执行的部分代码分析,或者可以创建像在.NET框架中一样切换断点。 – Milee 2012-04-11 08:43:36
看看这个如果你的意思是执行时间:http://stackoverflow.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