是否可以使用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:
.
与巧克力茶壶一样有用。知道谁做了什么以及何时不知道他们做了什么有什么用?我觉得应该有一个'包含参数值'标志或其他东西,但我找不到一个。我在这里错过了什么?
答案 0 :(得分:1)
发布问题可以触发导致答案的思维过程,这很有趣吗?
SQL Server审核将存储过程的EXEC视为与SP正在执行的INSERT(或其他)的单独审核。参数作为EXEC语句的一部分进行审核。您需要确保正在审核正确的对象。