У нас есть приложение (asp.net), которое подключается к базе данных SQL Server 2008 R2 с использованием учетных данных для входа, специально настроенных для этого приложения.
Наше приложение обращается / изменяет / удаляет записи с помощью хранимых процедур, к которымв качестве параметра мы передаем имя пользователя, выполняющего действие.
Нам необходимо вести журнал аудита всех обновлений и удалений в определенных таблицах.Решение также должно быть как можно более минимальным и не требовать вмешательства разработчика.
Самый простой способ, который я могу найти, - это поместить в таблицу (A) триггер, который копирует «старые» данные вТаблица истории (A_History). Проблема в том, что нам нужно знать, кто выполнил действие, для обновления это просто, мы просто посмотрим на имя пользователя вновь вставленной записи.Но для удаления у нас нет доступа к параметру имени пользователя, отправляемому в хранимую процедуру.
Есть ли способ реализовать это без использования таких вещей, как CONTEXT_INFO (), потому что это нужно будет добавить к каждому хранимомупроцедура и каждый вызов, который обязательно будет забыт.