SQL Server审核事件日志

时间:2014-10-14 16:36:07

标签: sql sql-server logging audit

我很难根据我在此处找到的各种响应和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"。

1 个答案:

答案 0 :(得分:0)

它应位于事件查看器/ Windows日志/应用程序下,事件ID为33205。

Understanding Audit Logging in SQL Server 2008

"任何经过身份验证的用户都可以读取和写入Windows应用程序事件日志。应用程序事件日志需要的权限低于Windows安全事件日志,并且不如Windows安全事件日志安全。" - SQL Server Audit