Как просматривать журналы транзакций в SQL Server 2008

Мне нужно просмотреть журналы транзакций базы данных на SQL Server 2008, чтобы найти транзакцию удаления и, надеюсь, отбросить ее.

К сожалению, я не знаю, с чего начать, и мне сложно определить, какие статьи хорошие в Google.

Что мне делать?

Ответ 1

Вы можете использовать недокументированные

DBCC LOG(databasename, typeofoutput)

где typeofoutput:

0: Return only the minimum of information for each operation -- the operation, its context and the transaction ID. (Default)
1: As 0, but also retrieve any flags and the log record length.
2: As 1, but also retrieve the object name, index name, page ID and slot ID.
3: Full informational dump of each operation.
4: As 3 but includes a hex dump of the current transaction log row.

Например, DBCC LOG (база данных, 1)

Вы также можете попробовать fn_dblog.

Чтобы отменить транзакцию с использованием журнала транзакций, я бы посмотрел на Stack переполнение post Откат транзакции с использованием журнала транзакций.

Ответ 2

Вы не можете легко прочитать файл журнала транзакций, потому что это неправильно документировано. Есть два способа сделать это. Использование недокументированных или полудокументированных функций базы данных или использование сторонних инструментов.

Примечание. Это имеет смысл только в том случае, если ваша база данных находится в режиме полного восстановления.

Функции SQL:

DBCC LOG и fn_dblog - подробнее здесь и здесь.

Сторонние инструменты:

Жаба для SQL Server и ApexSQL Log.

Вы также можете просмотреть несколько других тем, где это обсуждалось:

Ответ 3

Я случайно удалил целую кучу данных в неправильной среде, и этот пост был одним из первых, что я нашел.

Поскольку я одновременно паниковал и искал решение, я пошел на первое, что увидел - ApexSQL Logs, что составило $2000, что было приемлемой ценой.

Однако с тех пор я узнал, что Toad для Sql Server может генерировать отменить сценарии из журналов транзакций, и это всего лишь 655 долларов.

Наконец, нашел еще более дешевый вариант SysToolsGroup Log Analyzer, и это всего лишь 300 долларов.