Я хочу сделать это, потому что я хотел бы знать, сколько раз была изменена определенная строка.Как выполнить запрос из файлов журнала (.ldf) Sql Server 2005 Express Edition?
Возможно ли это?
Благодаря
Я хочу сделать это, потому что я хотел бы знать, сколько раз была изменена определенная строка.Как выполнить запрос из файлов журнала (.ldf) Sql Server 2005 Express Edition?
Возможно ли это?
Благодаря
Чтение файла журнала либо принимает коммерческий инструмент, или невероятное количество SQL внутренних органов знаний для достижения. Вы можете увидеть некоторые из исходных данных, используя: Выберите * from :: fn_DBlog (null, null)
Фактически декодирование, чтобы найти ту же самую запись, которая была изменена, и обеспечение каких-либо изменений было совершено и т. Д., Было бы трудной задачей поставить это легко. Так что это «возможно», но не очень «вероятно», что вы сможете это сделать.
Если вам нужна эта функциональность в базе данных, вы должны смотреть на триггеры/логику в коде.
Я хотел бы взять невероятный маршрут. Любые указатели на то, как я могу начать это? (Ссылки или что-то еще?) –
Посмотрите на https://www.blackhat.com/presentations/bh-usa-07/Fowler/Presentation/bh-usa-07-fowler.pdf слайд 21, и вы скоро поймете как трудно декодировать. – Andrew
И я предполагаю, что способ, которым мы получаем старые транзакции, будет отличаться для MS SQL-сервера и Oracle. Это правда? Если это так, я думаю, мне нужно оставить это и уйти. В любом случае больше ссылок будет полезно. Спасибо друг. –
вы можете использовать эту программу, чтобы сделать это http://www.red-gate.com/products/SQL_Log_Rescue/index.htm
Эта программа предназначена только для SQL Server 2000 –
Рассмотрим с помощью SQL Server 2008.
Существует функция новой для SQL Server 2008 под названием Change Data Capture, что делает именно то, что вам нужно, это отслеживать изменения данных с течением времени.
Глядя на просмотр файла журнала, чтобы отслеживать изменения, не является разумной практикой. Это даст вам ограниченную историю, объем которой также будет зависеть от модели восстановления, которую вы используете для своей базы данных.
Вы можете «свернуть свое» решение с небольшим количеством развития, используя таблицу журналов и заполнив ее с помощью триггеров SQL Server. Пригодность такого решения, конечно, зависит от вашего бизнес-кейса.
Взгляните на следующий TechNet статье для некоторого интересного чтения:
поздний ответ, но я надеюсь, что это будет полезно для новых читателей ...
Еще одна функция, которую вы можете попробовать это DBCC LOG, но, к сожалению, это недокументированная функция такая же, как fn_dblog.
Проблема с журналом транзакций в SQL Server заключается в том, что он никогда не предназначался для этого, но только для обеспечения моментального восстановления и транзакционных свойств.
Существует коммерческая log reader from ApexSQL, которую вы можете попробовать.
Здесь также находятся несколько похожих записей, которые могут привести вас в правильном направлении.
Является ли это одноразовая требование одноранговой или процесс, который вы хотите регулярно выполнять? –
Это процесс, который я хотел бы выполнять регулярно. Скажем, я хочу подготовить отчет о том, сколько раз определенная строка была изменена за месяц. –