forked from DavidWiseman/sqlserver-kit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathXE_Truncate.sql
23 lines (18 loc) · 865 Bytes
/
XE_Truncate.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
https://www.sqlservercentral.com/forums/topic/extended-events-capture-truncate-using-object_altered-event
by Evgeny Garaev 2018-06-28
*/
/* Stop trace if started */
IF EXISTS (SELECT * FROM sys.dm_xe_sessions WHERE name = N'XE_Truncate')
ALTER EVENT SESSION XE_Truncate ON SERVER STATE = STOP;
/* Delete trace if exists */
IF EXISTS (SELECT * FROM sys.server_event_sessions WHERE name = N'XE_Truncate')
DROP EVENT SESSION XE_Truncate ON SERVER;
CREATE EVENT SESSION XE_Truncate ON SERVER
ADD EVENT sqlserver.sp_statement_starting(SET collect_statement=(1)
WHERE ([sqlserver].[like_i_sql_unicode_string]([statement], N'truncate table%'))),
ADD EVENT sqlserver.sql_statement_starting(SET collect_statement=(1)
WHERE ([sqlserver].[like_i_sql_unicode_string]([statement],N'truncate table%')));
GO
ALTER EVENT SESSION XE_Truncate ON SERVER STATE = START;
GO