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


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.