В SQL Server 2008 у вас есть отслеживание изменений, которое вы можете отслеживать, когда происходит вставка, обновление или удаление. Это позволит отследить, что произошло событие, какая запись была, и, необязательно, какие столбцы были изменены, но не значения (до и после). Это обычно используется для выполнения массовых процессов с известными измененными данными.
В отслеживании изменений вы устанавливаете период хранения для хранения изменений, обычно период, который гарантирует, что любая обработка отслеживаемых таблиц находится в пределах периода хранения.
В качестве альтернативы у вас есть (опять же, в SQL 2008) сбор данных изменений, который является более детальным и записывает фактические изменения. Однако это только корпоративная функция.
Вы можете легко создать приложение .NET для запуска отслеживания изменений или сбора данных изменений запросов.
Вот ссылка на дополнительную информацию о обоих
Отслеживание изменений
Изменение сбора данных
По большей части отслеживание изменений, вероятно, будет лучшим вариантом - плюс оно работает во всех версиях SQL Server 2008.
Если вы хотите достичь этого в 2005 году или ниже, вы можете создавать таблицы для каждой таблицы, которую вы хотите отслеживать, и иметь триггер для вставки значений в таблицу отслеживания при вставке, обновлении, удалении. Тогда есть процесс, чтобы очистить это. Это в основном то, что отслеживание изменений делает для вас.