2013-08-06 3 views
0

У меня есть система отслеживания ошибок, написанная на asp.net, и мне нужно отслеживать обновления об ошибках и отображать историю ошибок, каков текущий статус, обновления и т. Д. ...Что такое эффективный способ отслеживания изменения таблицы SQL?

Итак, мне нужно знать, какое поле было изменено и что-то сделать с данными. Я создал другую таблицу, в которой есть поле таблицы отслеживания и новое значение, поэтому изменить. Вставляю ключ обновления (в другую таблицу, указываем, кто изменил его и когда), изменил имя поля и новое значение.

Это работа потрясающая с C#, но мне нужно больше sql-решения.

например, поле значения в моей таблице изменений, может быть fk для X TABLE, Y TABLE или простое число или строка, которую я бросаю в строку.

Что вы думаете о моем решении? Можете ли вы предложить лучшую?

+1

Подобные вещи специфичны для вендора, но * SQL * - это только язык запросов, а не продукт базы данных. Поэтому, пожалуйста, сообщите нам, что *** конкретная база данных *** (SQL Server? MySQL? Postgres? Interbase? DB2? Sybase? Oracle? Что-то еще?) И какую версию этой базы данных вы используете. –

+1

Вы можете реагировать на изменения данных с помощью триггеров, которые на 100% зависят от поставщика. –

+0

Я использую SQL-сервер. –

ответ

3

SQL Server предлагает изменить функцию захвата данных (хорошее место для начала работы с документацией - here).

Эта функциональность поддерживает таблицы изменений для таблиц (и других элементов в базе данных, если хотите). Конечно, такая функциональность подразумевает накладные расходы при изменении данных. Но, похоже, это то, что вы ищете.

+0

Спасибо за помощь. Я хочу знать другие данные, которые делают chagne (fk таблицы сотрудников) и меняют время. Это может мне это? –

+1

Не только в корпоративной редакции 2008 года? – podiluska

+0

@podiluska. , , Я так и думал, но эта диаграмма показывает, что она поддерживается другой версией (http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).ASPX). Я подозреваю, что я что-то неправильно понимаю. –

Смежные вопросы