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

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

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

Что я должен делать?

3 ответа

Решение

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

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.

Для отката транзакции с использованием журнала транзакций я бы взглянул на переполнение стека после транзакции отката с использованием журнала транзакций.

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

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

Функции SQL:

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

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

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

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

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

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

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

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

Другие вопросы по тегам