SQL server 2008裡面透過sys.dm_exec_procedure_stats得到儲存過程的執行資訊

kitesky發表於2012-01-12

很多DBA都希望能夠得到某個儲存過程的執行資訊,比如:

1) 執行了多少次

2) 執行的執行計劃如何

3) 執行的平均讀寫如何

4) 執行平均需要多少時間

等等. 幸運的是SQL server 2008 提供了一個這樣的DMV,使得我們比較容易就得到上面的資訊。這個DMV是sys.dm_exec_procedure_stats,它輸出了下面的資訊(部分截圖,具體的請參考聯機叢書):

[@more@]

列名

資料型別

說明

database_id

int

儲存過程所在的資料庫 ID。

object_id

int

儲存過程的物件標識號。

cached_time

datetime

儲存過程新增到快取的時間。

cached_time

datetime

儲存過程新增到快取的時間。

last_execution_time

datetime

上次執行儲存過程的時間。

execution_count

bigint

儲存過程自上次編譯以來所執行的次數。

total_worker_time

bigint

此儲存過程自編譯以來執行所用的 CPU 時間總量(微秒)。

last_worker_time

bigint

上次執行儲存過程所用的 CPU 時間(微秒)。

total_physical_reads

bigint

此儲存過程自編譯後在執行期間所執行的物理讀取總次數。

last_physical_reads

bigint

上次執行儲存過程時所執行的物理讀取次數。

min_physical_reads

bigint

該儲存過程在單次執行期間所執行的最少物理讀取次數。

max_physical_reads

bigint

該儲存過程在單次執行期間所執行的最大物理讀取次數。

total_logical_writes

bigint

此儲存過程自編譯後在執行期間所執行的邏輯寫入總次數。

last_logical_writes

bigint

上次執行儲存過程時所執行的邏輯寫入次數。

min_logical_writes

bigint

該儲存過程在單次執行期間所執行的最少邏輯寫入次數。

max_logical_writes

bigint

該儲存過程在單次執行期間所執行的最大邏輯寫入次數。

total_logical_reads

bigint

此儲存過程自編譯後在執行期間所執行的邏輯讀取總次數。

last_logical_reads

bigint

上次執行儲存過程時所執行的邏輯讀取次數。

total_elapsed_time

bigint

完成此儲存過程的執行所用的總時間(微秒)。

last_elapsed_time

bigint

最近完成此儲存過程的執行所用的時間(微秒)。

可以透過下面的語句,得到按照執行時間排序的前10 的儲存過程的執行資訊:

SELECT TOP 10 a.object_id, a.database_id, OBJECT_NAME(object_id, database_id) 'proc name',

a.cached_time, a.last_execution_time, a.total_elapsed_time, a.total_elapsed_time/a.execution_count AS [avg_elapsed_time],

a.execution_count,

a.total_physical_reads/a.execution_count avg_physical_reads,

a.total_logical_writes,

a.total_logical_writes/ a.execution_count avg_logical_reads,

a.last_elapsed_time,

a.total_elapsed_time / a.execution_count avg_elapsed_time,

b.text,c.query_plan

FROM sys.dm_exec_procedure_stats AS a

CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) b

CROSS APPLY sys.dm_exec_query_plan(a.plan_handle) c

ORDER BY [total_worker_time] DESC;

GO

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-1057106/,如需轉載,請註明出處,否則將追究法律責任。

相關文章