星期五, 6月 04, 2021

[SQL] 擴充事件 - 排除特定 DB

在 Product 環境上,有設定排程每天要把 DeadLock 相關資訊抓進自訂 Table 內保留,並發出 mail 來通知有 DeadLock 發生,該機制一上線就發現,每天都是 DataCollection DB 所產生的 DeadLock,因此在擴充事件 system_health 內,設定篩選條件來過濾掉

利用 sys.database 來查詢 database_id
SELECT 
	database_id , 
	[name]
FROM sys.databases
在 system_health 內設定篩選條件

[SQL] 擴充事件 - 死結 - 排除特定 DB-1

[SQL] 擴充事件 - 死結 - 排除特定 DB-2

把 system_health 轉成 Script 的話,在 xml_deadlock_report 內,就可以看見篩選條件
ADD EVENT sqlserver.xml_deadlock_report(
    WHERE ([sqlserver].[database_id]<>(7)))

沒有留言:

張貼留言