XEvent--Demo--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放
--==============================================================
--使用XEvent來(lái)捕獲在數(shù)據(jù)庫(kù)DB1上發(fā)生的鎖請(qǐng)求和鎖釋放
--==============================================================
--查看鎖相關(guān)的事件
SELECT xp.[name] AS [Package_Name], xo.*
FROM sys.dm_xe_objects xo
INNER JOIN sys.dm_xe_packages xp
ON xp.[guid] = xo.[package_guid]?
WHERE xo.name LIKE '%LOCK%'
?
--找到要研究的鎖行為
--lock_acquired
--lock_released
--=============================================================
?
--創(chuàng)建回話[XE_LockMonitor]
--回話捕獲在數(shù)據(jù)庫(kù)DB1上發(fā)生的鎖請(qǐng)求和鎖釋放
IF EXISTS(
?? SELECT *FROM sys.server_event_sessions
?? WHERE name='XE_LockMonitor'
)
BEGIN
DROP EVENT SESSION [XE_LockMonitor] ON SERVER;
END
GO
?
CREATE EVENT SESSION [XE_LockMonitor] ON SERVER
ADD EVENT sqlserver.lock_acquired(
??? ACTION(sqlserver.database_id,sqlserver.database_name,sqlserver.sql_text)
??? WHERE ([sqlserver].[database_name]=N'DB1')),
ADD EVENT sqlserver.lock_released(
??? ACTION(sqlserver.database_id,sqlserver.database_name,sqlserver.sql_text)
??? WHERE ([sqlserver].[database_name]=N'DB1'))
ADD TARGET package0.event_file(SET filename=N'E:\DB\XE_LockMonitor.xel')
WITH (STARTUP_STATE=OFF)
GO
--=============================================================
--啟動(dòng)回話
ALTER EVENT SESSION [XE_LockMonitor] ON SERVER
STATE=START;
GO
--=============================================================
USE DB1
GO
SELECT * FROM dbo.TB1
GO
--=============================================================
--停止回話
ALTER EVENT SESSION [XE_LockMonitor] ON SERVER
STATE=STOP;
GO
--=============================================================
--由于XEevent使用XML來(lái)存儲(chǔ)結(jié)果,因此可以使用TSQL來(lái)查看結(jié)果,但是實(shí)現(xiàn)相對(duì)復(fù)雜
?
--使用SSMS在擴(kuò)展回話事件里查看數(shù)據(jù)
轉(zhuǎn)載于:https://www.cnblogs.com/TeyGao/p/3519621.html
超強(qiáng)干貨來(lái)襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的XEvent--Demo--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 反向传播算法 Backpropagati
- 下一篇: read write spinlock