В таблице нет последнего обновленного поля, и мне нужно знать, когда обновлялись существующие данные. Поэтому добавление последнего обновленного поля не поможет (насколько я знаю).
SQL Server 2000 не отслеживает эту информацию для вас.
Могут быть творческие / нечеткие способы угадать, какой была эта дата в зависимости от модели вашей базы данных. Но если вы говорите об одной таблице, не имеющей отношения к другим данным, то вам не повезло.
Вы можете добавить поле временной метки в эту таблицу и обновить его значение с помощью триггера обновления.
OmniAudit - это коммерческий пакет, включающий аудит всей базы данных.
Свободным методом было бы написать триггер для каждой таблицы, который добавляет записи в таблицу аудита при срабатывании.
Вы не можете проверить изменения без какого-либо механизма аудита. Вы ищете для извлечения информации, которая не была собрана. Если вам просто нужно знать, когда запись была добавлена или отредактирована, проще всего добавить поле даты и времени, которое обновляется с помощью триггера при обновлении записи.
Если вам также необходимо отслеживать, когда запись была удалена, вам нужно использовать таблицу аудита и заполнять ее из триггеров строкой, когда запись была добавлена, отредактирована или удалена.
Вы можете попробовать просмотр журнала; в основном это просто позволяет вам просматривать транзакции в журнале транзакций, поэтому вы сможете найти оператор, который обновил соответствующую строку. Я не рекомендовал бы это как стратегию аудита на уровне производства, но я нашел, что это полезно в крайнем случае.
Вот тот, который я использовал; это бесплатно и (только) работает с SQL Server 2000.