Who is Active 介紹

Whoisactive 由MVP Adam Machanic提出,從15個DMV收集數據。每個DMV可以顯示的大量有價值的資訊。sp_who和sp_who2亦可以顯示大量的資訊,但是必須熟悉和有經驗才能妥善的運用,whoisactive減低了這個門檻。

Whoisactive抓到的資訊是RealTime的,邏輯可以參考下圖,例如每一分鐘抓一次資訊,因此T1-T0=1min, T2-T0= 2min。因此可以從此去了解每個SPID的Wait Type轉變過程,也可以從中找出在等待什麼資源,進而了解過去DB遇到什麼瓶頸。

 

繼續閱讀 “Who is Active 介紹"

OPServer-Table Lock 處理

突然有一天,某個非常重要的Table被Lock,

之前曾經發生過一次,不過沒有找到Root Cause,

當時懷疑是因為Reindex的Job導致該Table被Lock,

不過那個時候沒有確切的證據,因為找錯方向了,

這次很即時的發現是Web的某個Query,

Block了Reindex的Job,然後Reindex的Job又Block其他動作。

當下的動作其實用了幾個簡單的DMV

[blocking_session_id]為佔住資源Block別人的ID

-- Active blocking issues?
SELECT [session_id],
 [wait_duration_ms],
 [wait_type],
 [blocking_session_id]
FROM sys.[dm_os_waiting_tasks]
WHERE [wait_type] LIKE N'LCK%'
ORDER BY [wait_duration_ms];
GO

繼續閱讀 “OPServer-Table Lock 處理"