2012-04-05 52 views
1

有沒有辦法從SQL Server返回查詢工作進度?SQL Server取得進展

例如我有存儲返回n行的過程。而且我需要知道完成的時間有多少。

謝謝。

+4

不是真的 - SQL Server如何提前知道給定調用返回多少行?爲了發現這一點,它必須實際**執行**調用 - 因此你已經完成了你的查詢.....在這裏沒有黑魔法或巫術...... ..... SQL Server **不能提前知道某個操作需要多少時間 - 因此它不能報告進度,真的...... – 2012-04-05 09:37:48

+0

如何首先獲取查詢的計數?有可能擁有這個數字嗎? – Louis 2012-04-05 09:45:47

+0

悲傷(這將是非常有用的功能。謝謝,我會根據統計數據做出大致的時間。) – StNickolas 2012-04-05 09:50:12

回答

2

問:

「有沒有辦法從SQL Server ,比如我有存儲過程返回n行返回查詢工作的進展情況,我需要知道有多少時間是它失去了完成?。 「

答案不幸的是,返回單個查詢時答案爲否。在transact-SQL或存儲過程的控制流中,您可以使用@@ rowcount變量或捕獲受影響或返回的行的用戶定義變量返回處理或返回的行數。 如果transact-sql使用的是遊標(由於性能原因不推薦),則可以在捕獲要處理或返回的總行數的COUNT之後返回行計數,然後在完成每個行的完成後打印計數器變量循環。