2015-02-06 22 views
0

我想通過大量的變量選項來進行一些高級查詢的自動化SQL分析。什麼我希望做的是類似於以下捕獲變量中的SQL統計時間

set statistics io on 
set statistics time on 

select * 
from MyTable 

set statistics time off 
set statistics io off 

--Somehow return the statistics for this query back to the calling C# code 
-- so that I can log it for displaying in a report among other queries 

東西我已經使用但以下我不確定如何找到查詢辦理我跑的查詢,提取出所需的執行時間試圖

select * from sys.dm_exec_query_stats 

所以真的我的問題有2個解決方案。 1)簡單地捕獲統計信息返回信息是否可行? 2)或者是否有可能找出我的sql查詢句柄,以便我可以查詢dm_exec_query_stats表?

我還應該提到我已經考慮過要做以下事情,但我希望能有一個更完整的解決方案。

declare @StartTime datetime = getdate(); 
Select * from myTable; 
declare @Dur datetime = getdate() - @StartTime; 

回答

1

當然,只要我轉向使用stackoverflow,我就會知道自己!

如果有人在將來也在尋找這個......這是一個解決方案,您只需在where子句中輸入您的ran查詢並返回所有性能指標。請記住,時間以毫秒爲單位,不是毫秒

SELECT * 
FROM sys.dm_exec_query_stats AS qs 
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st 
where st.text = 'Your Query Here'