Wyświetl instrukcje usuwania w dzienniku transakcji

Odpowiedzi:

11

nie znajdziesz dokładnych skryptów wykonanych na sql. (w dzienniku transakcji)

Dziennik transakcji to plik zawierający informacje dotyczące każdej zmiany wprowadzonej w bazie danych. Obejmuje to modyfikacje danych (transakcje), modyfikacje bazy danych oraz zdarzenia tworzenia kopii zapasowych / przywracania.

Głównym celem dziennika transakcji jest dostarczenie metody umożliwiającej przywrócenie bazy danych do określonego momentu w razie potrzeby. Może to obejmować wycofanie transakcji do określonego czasu lub wycofanie transakcji z pełnego przywracania kopii zapasowej.

aby dowiedzieć się więcej o dzienniku transakcji http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

Oto skrypt pokazujący ostatnio uruchomione zapytania dotyczące usuwania

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
where dest.TEXT like '%Delete%from%'
ORDER BY deqs.last_execution_time DESC
AmmarR
źródło
FYI: FROMjest opcjonalnym słowem kluczowym w DELETEinstrukcji, więc nie dołączę go tutaj do pasującego predykatu.
Jon Seigel
To prawda, że ​​instrukcja From w delete jest opcjonalna, dlatego ograniczyłem wyniki mojego zapytania. ale tak, masz rację
AmmarR
Uwaga, do wystąpień przypadków wrażliwych SQL Server, powyższy kod Miss woli deletei DELETEitp Być może chcesz, aby w przypadku gdy klauzula wielkości liter, na przykład: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
Max Vernon
11

Możesz wyświetlić poszczególne wiersze, które zostały usunięte, szukając operacji LOP_DELETE_ROWS nadal w dzienniku:

select * from fn_dblog(NULL, NULL) 
where Operation = 'LOP_DELETE_ROWS'

Jeśli dziennik został poddany recyklingowi (w prostym modelu odzyskiwania) lub skrócony przez kopię zapasową (w pełnym lub masowym modelu odzyskiwania), będzie można zobaczyć tylko operacje dziennika nadal dostępne w dzienniku.

Zrozumienie operacji dziennika jest dość skomplikowane, musisz zdawać sobie sprawę z takich rzeczy, jak cofanie operacji lub operacje kompensujące, aby zrozumieć niektóre wzorce dziennika, które możesz napotkać, ale proste zatwierdzone DELETE są dość łatwe do zrozumienia.

Remus Rusanu
źródło