我很难根据我在此处找到的各种响应和Microsoft的文档,使用SQL Server 2012上的应用程序日志来进行审计工作。作为测试,我在Management Studio中执行了以下脚本,并报告了成功。但是,当我故意登录失败时,我的操作系统日志中没有显示任何记录。
USE master
GO
CREATE SERVER AUDIT AuditDataAccess TO APPLICATION_LOG
GO
CREATE SERVER AUDIT SPECIFICATION HIPPA_Audit_Specification
FOR SERVER AUDIT AuditDataAccess
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON)
GO
ALTER SERVER AUDIT AuditDataAccess WITH (STATE = ON)
GO
澄清:如果我将输出放到文件而不是操作系统日志中,它会起作用。如果我像这样创建对象:
CREATE SERVER AUDIT AuditDataAccess TO FILE ( FILEPATH ='C:\SqlAudit\' )
GO
...它有效,我可以使用以下方法检索数据:
SELECT * FROM sys.fn_get_audit_file ('c:\SqlAudit\AuditDataAccess_*.sqlaudit',default,default);
GO
关于使用操作系统应用程序日志,我做错了什么?
编辑:如果没有,那么我只是在找错了地方?我提出了Windows 7 EventViewer并查看了事件查看器(本地)/ Windows日志的每个子树。我还查看了事件查看器(本地)/应用程序和服务日志,但是没有看到SQL Server的条目超出空白" Microsoft-SQLServerDataTools"。
答案 0 :(得分:0)
它应位于事件查看器/ Windows日志/应用程序下,事件ID为33205。
Understanding Audit Logging in SQL Server 2008
"任何经过身份验证的用户都可以读取和写入Windows应用程序事件日志。应用程序事件日志需要的权限低于Windows安全事件日志,并且不如Windows安全事件日志安全。" - SQL Server Audit