Перегляд операцій видалення у журналі транзакцій


12

Чи можливо переглядати deleteзаяви, які нещодавно відбулися в Журналі транзакцій?


Самі твердження не записуються до журналу транзакцій. У якій моделі відновлення знаходиться ваша база даних? Ця відповідь може бути корисною
— Мартін Сміт

Відповіді:


11

Ви не знайдете точні сценарії, які були виконані на sql. (у журналі транзакцій)

Журнал транзакцій - це файл, який містить інформацію щодо кожної зміни, внесеної до бази даних. Сюди входять модифікації даних (транзакції), зміни бази даних та події резервного копіювання / відновлення.

Основна мета журналу транзакцій полягає у наданні методу, щоб мати можливість відновити базу даних до моменту, коли це необхідно. Це може включати трансакцію транзакцій до певного часу або трансляцію транзакцій з повного відновлення резервного копіювання.

щоб дізнатися більше про журнал транзакцій http://www.sqlservercentral.com/articles/Design+and+Theory/63350/

ось сценарій, щоб показати вам останні запущені запити на видалення

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

FYI: FROMє необов'язковим ключовим словом у DELETEвиписці, тому я не включав би його до відповідного предиката тут.
— Джон Сейгель

Правда оператор From in delete необов’язковий, я зберігав це лише для обмеження результатів мого запиту. але так, ти маєш рацію
— AmmarR

Зауважте, що для регістрів SQL Server, що враховує регістри, код вище буде пропущений deleteі DELETEт. Д. Можливо, ви хочете зробити, де застереження не залежать від регістру, наприклад: WHERE dest.text LIKE '%DELETE %' COLLATE Latin1_General_CI_AS
— Макс Вернон,

11

Ви можете переглянути окремі рядки, які були видалені, шукаючи LOP_DELETE_ROWS операції, які все ще знаходяться в журналі:

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

Якщо журнал був перероблений (у простій моделі відновлення) або урізаний за допомогою резервного копіювання (у повній або масовій моделі відновлення), ви зможете бачити лише операції з журналом, які ще доступні в журналі.

Розуміння операцій з журналом є досить складним, вам потрібно знати про такі речі, як скасування або компенсацію операцій, щоб мати сенс у деяких шаблонах журналу, з якими ви можете зіткнутися, але прямі вперед докладені ВИДАЛЕННЯ досить легко зрозуміти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.