SQL Server 2000: есть ли способ определить дату последнего изменения записи? - PullRequest
7 голосов
/ 06 августа 2008

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

Ответы [ 5 ]

4 голосов
/ 06 августа 2008

SQL Server 2000 не отслеживает эту информацию для вас.

Могут быть творческие / нечеткие способы угадать, какой была эта дата в зависимости от модели вашей базы данных. Но если вы говорите об одной таблице, не имеющей отношения к другим данным, то вам не повезло.

1 голос
/ 02 сентября 2008

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

Вот тот, который я использовал; Это бесплатно и (только) работает с SQL Server 2000.

http://www.red -gate.com / продукция / SQL_Log_Rescue / index.htm

1 голос
/ 06 августа 2008

Невозможно проверить изменения без какого-либо механизма аудита. Вы ищете для извлечения информации, которая не была собрана. Если вам просто нужно знать, когда запись была добавлена ​​или отредактирована, проще всего добавить поле даты и времени, которое обновляется с помощью триггера при обновлении записи.

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

0 голосов
/ 06 августа 2008

OmniAudit - это коммерческий пакет, включающий аудит всей базы данных.

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

0 голосов
/ 06 августа 2008

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

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