sql >> Database teknologi >  >> RDS >> Sqlserver

Identificer den handling, der sletter alle rækker i en tabel

Du kan bruge Udvidet begivenhed s for at overvåge dit system.Her et simpelt skærmbillede, hvor er.

En simpel politik kan overvåge for slet og afkorte erklæringer.Når disse begivenheder rejses, bliver detaljer skrevet ind i filen.

Her er et skærmbillede med detaljer (du kan konfigurere scriptet til at indsamle flere data) indsamlet til sletningserklæring.

Her scriptet brugt, ændre output filstien

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. kolonneværdi i en enkelt række

  2. indsætte data i en ny kolonne i en allerede eksisterende tabel

  3. Sådan inverteres ord i en kolonne

  4. Hvordan komprimerer jeg dette Oracle-resultatsæt til værdier i henhold til rækkeprioritet og ignorerer null?