SQL 2016 有一個不錯用的DMF叫sys.dm_exec_input_buffer,介紹給大家。
在SQL 2016之前當我們想知道某一個Session最後執行的語法是甚麼時,我都是利用DBCC Inputbuffer()來查詢。但這種作法一次只能查一個Session id且無法搭配TSQL來做查詢。但在SQL2016這版推出了sys.dm_exec_input_buffer這一個DMF後,就讓我們可以輕鬆的搭配TSQL快速得到所有Session最後執行的語法。
範例語法如下:
SELECT a.session_id, b.event_info
FROM sys.dm_exec_sessions a
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) b
WHERE a.session_id > 50;
下圖就是執行結果,用起來是不是非常方便呢 !
我是ROCK
rockchang@mails.fju.edu.tw