sql >> Databasteknik >  >> RDS >> Sqlserver

Identifiera åtgärden som tar bort alla rader i en tabell

Du kan använda Utökad händelse s för att övervaka ditt system.Här en enkel skärmdump var är.

En enkel policy kan övervaka för radering och trunkera uttalanden.När dessa händelser tas upp skrivs detaljer in i filen.

Här en skärm med detaljer (du kan konfigurera skriptet för att samla in mer data) som samlats in för radera uttalande.

Här skriptet som används, ändra utdatafilens sökväg

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


  1. SQL-vyer

  2. FULLSTÄNDIG YTTRE JOIN för att slå samman tabeller med PostgreSQL

  3. Att lägga till två av samma främmande nycklar till en enda modell som två olika fält i uppföljaren

  4. SSIS 2008 - Hämta aktuellt datum i variabler