Можно ли проверить измененные значения с помощью аудита SQL Server?

Можно ли проверить измененные значения с помощью SQL Аудит сервера для хранимых процедур? Примечание. Я не говорю о CDC.

У меня работает базовый аудит, запись в журнал безопасности. Если я запускаю оператор INSERT, я получаю событие 33205, содержащее это [я удалил большую часть сообщения для ясности]:

Audit event: event_time:2013-01-31 14:06:53.4855165
 :
statement:INSERT INTO [DB1].[dbo].[Table1]
           ([ANumber]
           ,[AName]
           ,[ADescription])
     VALUES
           (21, 'Cheese', 'Cheese making.')
additional_information:
.

И это здорово! Но если я превращу это в хранимую процедуру с параметрами, я получу [также отредактировано]:

Audit event: event_time:2013-01-31 14:07:29.3099731
 :
statement:INSERT INTO [DB1].[dbo].[Table1]
               ([ANumber]
               ,[AName]
               ,[ADescription])
         VALUES
               (@aNumber, @aName, @aDescription)
additional_information:
.

который так же полезен, как шоколадный чайник. Какой смысл знать, кто что-то сделал и когда, если вы не знаете, что они сделали? Я чувствую, что должен быть флаг «Включить значения параметров» или что-то в этом роде, но я не могу его найти. Что мне здесь не хватает?


person ssg31415926    schedule 31.01.2013    source источник


Ответы (1)


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

Аудит SQL Server рассматривает EXEC хранимой процедуры как отдельный аудит от INSERT (или другого), который выполняет SP. Параметры проверяются как часть оператора EXEC. Вы должны убедиться, что вы проверяете правильные объекты.

person ssg31415926    schedule 31.01.2013