SQL 2016 的新DMF sys.dm_exec_input_buffer

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