Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zidentyfikuj akcję, która usuwa wszystkie wiersze z tabeli

Możesz użyć Extended Event s do monitorowania systemu.Oto prosty zrzut ekranu, gdzie są.

Prosta zasada może monitorować pod kątem usuwania i obcinać oświadczenia.Po wystąpieniu tych zdarzeń szczegóły są zapisywane w pliku.

Tutaj ekran ze szczegółami (możesz skonfigurować skrypt tak, aby zbierał więcej danych) zebranych dla instrukcji usuwania.

Tutaj użyty skrypt zmodyfikuj ścieżkę pliku wyjściowego

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak poznać wartość wiersza przed jego wstawieniem do gridview?

  2. Klastrowy a nieklastrowany

  3. Ograniczanie jednoczesnych sesji użytkowników dla określonego logowania w SQL Server

  4. Konieczność zmiany typów kolumn w produkcyjnej bazie danych (SQL Server 2005)

  5. Czy istnieje wbudowana funkcja, która może konwertować liczby na słowa w serwerze sql?