在 Product 環境上,有設定排程每天要把 DeadLock 相關資訊抓進自訂 Table 內保留,並發出 mail 來通知有 DeadLock 發生,該機制一上線就發現,每天都是 DataCollection DB 所產生的 DeadLock,因此在擴充事件 system_health 內,設定篩選條件來過濾掉
利用 sys.database 來查詢 database_id
SELECT
database_id ,
[name]
FROM sys.databases在 system_health 內設定篩選條件
把 system_health 轉成 Script 的話,在 xml_deadlock_report 內,就可以看見篩選條件
ADD EVENT sqlserver.xml_deadlock_report(
WHERE ([sqlserver].[database_id]<>(7)))![[SQL] 擴充事件 - 死結 - 排除特定 DB-1](https://live.staticflickr.com/65535/51215739625_3212676f2a_z.jpg)
![[SQL] 擴充事件 - 死結 - 排除特定 DB-2](https://live.staticflickr.com/65535/51215739615_f5388ed198_z.jpg)
沒有留言:
張貼留言