3

有没有办法查看 SQL Server 中的查询有多远?我知道如何在 oracle 中执行此操作,但我无法确定是否可以在 SQL Server 中执行此操作。

干杯

4

2 回答 2

1

没有直接的方法可以做到这一点,但如果您的查询不仅仅是一个选择,您可以插入这个“检查点”:

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
...
...

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

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

于 2012-04-11T09:44:59.157 回答
0

并不真地。如果你想要一个命令说:这个查询已经完成了 35%,你不会得到它。SQL Server 无法确定完成查询的距离,因为它事先不知道查询将满足多少行。

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

SET STATISTICS TIME ON 或跟踪文件将在运行查询后向您显示信息

于 2012-04-11T09:47:06.367 回答