Как выполнить запрос из файлов журнала (.ldf) выпуска Sql Server 2005 Express? - PullRequest
2 голосов
/ 27 января 2010

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

Возможно ли это?

Спасибо

Ответы [ 4 ]

2 голосов
/ 03 октября 2013

Поздний ответ, но я надеюсь, что он будет полезен для новых читателей ...

Еще одна функция, которую вы можете попробовать - это DBCC LOG, но, к сожалению, это недокументированная функция, такая же, как fn_dblog.

Проблема с журналом транзакций в SQL Server заключается в том, что он никогда не предназначался для этого, а только для разрешения восстановления на момент времени и свойств транзакции.

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

Здесь также есть пара похожих сообщений, которые могут направить вас в правильном направлении.

Чтение файла журнала (* .LDF) в SQL Server 2008

Проводник / анализатор журнала транзакций SQL Server

2 голосов
/ 27 января 2010

Чтение файла журнала требует либо коммерческого инструмента, либо огромного количества знаний по внутренним компонентам SQL. Вы можете увидеть некоторые необработанные результаты, используя: Выберите * from :: fn_DBlog (null, null)

На самом деле дешифрование для обнаружения той же самой записи, которая была изменена, и обеспечение того, что любое изменение было совершено и т. Д., Было бы непростой задачей. Так что «возможно», но не очень «вероятно», что вы сможете это сделать.

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

0 голосов
/ 27 января 2010

Рассмотрите возможность использования SQL Server 2008.

В SQL Server 2008 появилась новая функция, называемая Change Data Capture , которая выполняет именно то, что вам нужно, то есть отслеживает изменения данных во времени.

Желательно проверить файл журнала на предмет отслеживания изменений - не мудрая практика. Это предоставит вам ограниченную историю, объем которой также будет зависеть от модели восстановления, которую вы используете для своей базы данных.

Вы можете «свернуть свое» решение с небольшим объемом разработки, используя таблицу журналов и заполняя ее с помощью триггеров SQL Server. Пригодность такого решения, конечно, зависит от вашего бизнес-кейса.

Взгляните на следующую статью TechNet, чтобы прочесть интересное:

Отслеживание изменений в базе данных вашего предприятия

0 голосов
/ 27 января 2010

вы можете использовать эту программу, чтобы сделать это http://www.red -gate.com / продукция / SQL_Log_Rescue / index.htm

...