sql >> Databáze >  >> RDS >> Sqlserver

Identifikujte akci, která odstraní všechny řádky v tabulce

Můžete použít Extended Event s ke sledování vašeho systému. Zde je jednoduchý snímek obrazovky, kde jsou.

Jednoduchá zásada může sledovat smazání a zkrátit prohlášení. Když jsou tyto události vyvolány, podrobnosti jsou zapsány do souboru.

Zde je obrazovka s podrobnostmi (můžete nakonfigurovat skript tak, aby shromažďoval více dat) shromážděnými pro příkaz delete.

Zde použitý skript upravte cestu výstupního souboru

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. Jak odstranit dvojité uvozovky obklopující text při importu souboru CSV?

  2. Odstranění duplikace v dynamickém příkazu ROW_NUMBER() OVER ORDER BY

  3. Jak zajistit, aby SQL Server 2008 zkontroloval omezení tabulky, aby povolil pouze určité znaky?

  4. Jak nastavím MySQL jako výchozí databázi v Rails 3?