是否可以使用SQL Server审核来审核更改的值?

时间:2013-01-31 14:24:15

标签: sql-server-2008-r2 auditing audit-logging

是否可以使用SQL Server Auditing对存储过程审核更改的值?注意:我谈论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:
.

与巧克力茶壶一样有用。知道谁做了什么以及何时不知道他们做了什么有什么用?我觉得应该有一个'包含参数值'标志或其他东西,但我找不到一个。我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

发布问题可以触发导致答案的思维过程,这很有趣吗?

SQL Server审核将存储过程的EXEC视为与SP正在执行的INSERT(或其他)的单独审核。参数作为EXEC语句的一部分进行审核。您需要确保正在审核正确的对象。