MrEdmundo, CDC не готов к прайм-тайму, по моему мнению. В настоящее время, похоже, довольно сложно бороться с развертыванием проекта базы данных из Visual Studio с включенным CDC (ему не нравятся изменения DDL). Кроме того, кажется, что CDC имеет встроенный процесс очистки данных с истекшим сроком службы, так что это может быть плохим временем для вас, если вы действительно хотите поддерживать свою историю аудита в течение длительного времени.
Кроме того, исправьте меня, если я неправильно понял, но, похоже, SQL Audit предназначен для аудита множества событий, происходящих в SQL Server, таких как неудачные входы в систему, изменения DDL и т. Д.
Отслеживание изменений предназначено только для DDL, а не для DML, так что вам не повезло.
Если вы действительно намерены захватить «старую» запись, которая была либо обновлена, либо удалена из таблицы, то, похоже, лучшим ответом остается создание Audit.TableName и триггера update + delete для dbo.TableName. Также убедитесь, что TableName включает столбцы CreatedBy DEFAULT SUSER, CreatedDate DEFAULT getdate (), ModifiedBy, ModifiedDate.