Как открыть файл журнала транзакций SQL Server (LDF)? - PullRequest
2 голосов
/ 13 октября 2011

Я имею в виду способ открыть файл LDF и прочитать / проанализировать его.

Теперь у меня есть возможность извлечь резервный файл LDF, но кажется, что файл LDF это SHARE_DENY_READ, когда база данных работает.

Но другое стороннее программное обеспечение, такое как Lumigent Log Explorer , как они могли открыть файл? Такое программное обеспечение читает непосредственно LDF?

Ответы [ 3 ]

2 голосов
/ 24 сентября 2013

Формат журнала транзакций SQL Server не документирован и поэтому не может использоваться для непосредственного чтения данных из него.

Существуют такие инструменты, как ApexSQL Log , которые могут читать журнал транзакцийно это только потому, что они, вероятно, потратили кучу времени на разработку своего формата.

Варианты чтения:

a) самостоятельно определить формат (не рекомендуется) b) получить сторонний инструмент c) использовать такие функции, как fn_dblog, которые также не документированыно могу дать вам некоторые детали.

1 голос
/ 04 октября 2013

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

Чтобы иметь возможность читать журналы транзакций, чтобы увидеть тип операции, схему и имя объекта затронутого объекта, время, когдаоперация была выполнена, имя пользователя, выполнившего операцию, и многое другое, посмотрите Открыть файл LDF и просмотрите содержимое файла LDF онлайн-статья

Обратите внимание, что на предоставленное решение это не влияетнезависимо от того, читаете вы онлайн журнал транзакций или нет - нет блокировок, которые мешают процессу чтения и анализа журнала транзакций

Отказ от ответственности: я работаю инженером службы поддержки продуктов в ApexSQL

1 голос
/ 13 октября 2011

Я не уверен, что понимаю ваш вопрос, но да, эти сторонние инструменты читают файл ldf напрямую.

Вы также можете использовать команду DBCC LOG, но она не документирована и выводнемного загадочно.

...