我正在调查谁在访问数据库中所有表中的数据。我们确实有额外的要求,我们在日志中不能有任何可以用来识别一个人的信息。
第一部分可以使用 SQL Server 审计轻松完成,以记录指定数据库的所有选择、插入和删除语句。这是我遇到问题的第二部分。整个 SQL 语句,包括 where 子句中的任何个人信息,都将存储在“语句”列中。这意味着有权访问审核日志的任何人都将能够看到此信息并识别相关人员。我们不需要存储在“声明”列中的信息。'database_name'、'schema_name' 和 'object_name' 列中存储的信息对我们来说已经足够了。
我的问题是有什么方法可以防止 SQL Server 审计完全或至少以明文形式将 SQL 语句存储在“语句”列中?
我在 msdn 论坛上从 Emily Fei 那里得到了以下答案
似乎实现这样的目标的唯一方法是限制对原始审计日志的访问,然后发布日志的一个子集以供更普遍的使用。