我正在寻找跟踪数据库中对象使用情况的解决方案。对象,如表、存储过程和函数。
我发现了SQL审计,给人的印象是这正是我所需要的。
因此,我将其设置为对表上的SELECT、INSERT、UPDATE、DELETE和存储过程和函数的EXECUTE进行审计。
我将其设置为通过事件查看器实用程序锁定Windows安全事件日志。
我确保在本地安全策略和使用auditpol.exe中允许权限和设置对象访问。
然后我在表上运行一些INSERTs,在存储过程上运行一些EXECUTEs。然后,我打开事件查看器,希望看到这些语句中每个语句执行的时间和对象上的日志,但是我看到的是:

我是跳过了一步,看错了地方,还是从一开始就犯了关于SQL审计实际做的事情的错误?
编辑:好的,我将目标切换到一个文件,并通过SSMS查看该文件(右键单击->视图审核文件).在这里,INSERTs和其他操作确实是logged....So,显然,我在事件查看器中找错了位置,或者遗漏了什么。
发布于 2014-05-21 14:10:50
要跟踪与Server审计功能一起使用的对象,必须设置审核。为此,必须首先创建一个审计对象。
这可以使用或T来完成.
下一步是在特定对象的特定数据库中设置审计。这是在数据库级别上需要提供Server审计功能的地方(数据库级审计仅在和Developer版本中可用)。
要继续设置审核,需要创建数据库级审计规范。这类数据库级审计规范将属于先前创建的审计对象。
虽然Server提供了一个内置功能(审计对象的菜单选项)来查看捕获的信息,但这并不是创建综合报表的方便方法,而且它只提供基本的筛选。
因此,为了为任何更深层次的分析或文档记录提供跟踪信息,请使用fn_get_file_audit Server函数读取审计对象使用的存储库.sqlaudit文件。
https://dba.stackexchange.com/questions/24294
复制相似问题