且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

确定删除表中所有行的操作

更新时间:2023-02-07 09:27:59

您可以使用扩展事件来监视系统. 这里是一个简单的屏幕快照.

You can use Extended Events to monitor your system. Here a simple screen shot where are.

一个简单的策略可以监视删除截断语句. 引发此事件时,会将详细信息写入文件.

A simple policy can monitor for delete and truncate statements. When this events are raised details are written into file.

在此屏幕上显示了为delete语句收集的详细信息(您可以配置脚本以收集更多数据).

Here a screen with details (you can configure the script to collect more data) collected for delete statement.

在此使用脚本,修改输出文件路径

Here the script used, modify the output file path

CREATE EVENT SESSION [CheckDelete] ON SERVER 
ADD EVENT sqlserver.sql_statement_completed(SET collect_statement=(1)
    ACTION(sqlserver.client_connection_id,sqlserver.client_hostname)
    WHERE ([sqlserver].[like_i_sql_unicode_string]([statement],N'%delete%') OR [sqlserver].[like_i_sql_unicode_string]([statement],N'%truncate%'))) 
ADD TARGET package0.event_file(SET filename=N'C:\temp\CheckDelete.xel',max_file_size=(50))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO