Как я могу отслеживать все изменения, внесенные в базу данных, и сохранять их для проверки? - PullRequest
2 голосов
/ 16 февраля 2011

Я создаю приложение, которое пользователи могут добавлять, обновлять данные.

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

Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 16 февраля 2011

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

Отслеживание изменений SQL Server

0 голосов
/ 16 февраля 2011

В настоящее время мы используем таблицы аудита для этого. Таким образом, для каждой «Таблицы» есть соответствующий «Table_AT» и есть триггеры для каждой операции CRUD. Таким образом, для любой функции CRUD новые данные записываются в таблицу аудита.

Эта ссылка содержит примеры http://web.archive.org/web/20071006100909/http://sqlserver2000.databases.aspfaq.com:80/how-do-i-audit-changes-to-sql-server-data.html

0 голосов
/ 16 февраля 2011

Вы можете использовать триггеры для таблиц, которые вы хотите отслеживать, и с помощью этих триггеров вы можете определить, какие поля были изменены (или была ли запись вставлена ​​или удалена), а затем записать соответствующую запись в таблицу аудита.

Вот одна статья, которую я нашел после очень быстрого поиска ... Добавление простого аудита на основе триггеров в вашу базу данных SQL Server (Поиск по ключевым словам sql server trigger audit должен принести вам удовлетворение изнания).

0 голосов
/ 16 февраля 2011

В SQL Server есть Query Profiler, который может выполнить трассировку для действующей базы данных и записать все запросы в другую базу данных или файл

http://msdn.microsoft.com/en-us/library/ms187929.aspx

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