Как просмотреть журналы транзакций в 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 (database, 1)
вы также можете попробовать fn_dblog.
для отката транзакции с помощью журнала транзакций я бы посмотрел на сообщение переполнения стека откат транзакции с помощью журнала транзакций.
вы не можете легко прочитать файл журнала транзакций, потому что это неправильно документировано. Существуют два основных способа сделать это. Используя нелегальные или полу-документированных функций базы данных или с помощью сторонних инструментов.
Примечание: это имеет смысл только если ваша база данных находится в режиме полного восстановления.
функции SQL:
DBCC LOG и fn_dblog-подробнее здесь и здесь.
сторонних инструменты:
жаба для SQL Server и Журнал ApexSQL.
вы также можете проверить несколько других тем, где это обсуждалось:
Я случайно удалил целую кучу данных в неправильной среде, и этот пост был одним из первых, которые я нашел.
поскольку я одновременно паниковал и искал решение, я пошел за первым, что увидел - Журналы ApexSQL, что составляло $2000, что было приемлемой стоимостью.
однако с тех пор я узнал, что жаба для Sql Server может генерировать сценарии отмены из журналов транзакций, и это всего лишь $655.
, нашел еще более дешевый вариант SysToolsGroup Log Analyzer и это всего лишь $ 300.