- DATABASE_OBJECT_ACCESS_GROUP:访问数据库对象时将引发此事件;
- DATABASE_OBJECT_CHANGE_GROUP:针对数据库对象(如架构)执行 CREATE、ALTER 或 DROP 语句时将引发此事件。 创建、更改或删除任何数据库对象时均将引发此事件。
- DATABASE_OPERATION_GROUP:数据库中发生操作(如检查点或订阅查询通知)时将引发此事件。 对于任何数据库的任何操作都将引发此事件。
- FAILED_DATABASE_AUTHENTICATION_GROUP:指示某个主体尝试登录到数据库并且失败。
- FAILED_LOGIN_GROUP:指示主体尝试登录到 SQL Server ,但是失败。
- SUCCESSFUL_LOGIN_GROUP:指示主体已成功登录到 SQL Server。
2,查看审计数据
点击审计对象,右击弹出快捷菜单,点击”View Audit Logs“查看审计对象记录的数据:

或者通过TSQL 函数查看审计数据,
sys.fn_get_audit_file ( file_pattern, { default | initial_file_name | NULL }, { default | audit_record_offset | NULL } )
审计文件名由四部分组成:AuditName_GUID_n_m.sqlaudit,第一个参数是file_pattern,包括路径和文件名,对于文件名,可以通过特殊的匹配符指定:
- *:表示所有的字符;
- {}:指定GUID;
- 如果文件名以扩展名( .sqlaudit)结尾,表示查看特定的文件;
例如,查看所有的审计文件的数据:
select * from sys.fn_get_audit_file(‘E:\AuditFiles\*‘,default,default)
三,创建数据库级别的审计规范
在数据库的Security中右击“Database Audit Specifications”,数据库级别的审计操作组,大部分和服务器级别的审计操作组很相似,除了数据库级别的审计动作(Database-Level Audit Actions),在数据库对象上发生以下操作(Action)时,记录事件的信息:
- SELECT
- UPDATE
- INSERT
- DELETE
- EXECUTE
- REFERENCES
数据库级别的审计操作追踪和记录的是数据库对象(schema,objects)上发生的事件,因此必须配置Object Class、Object Schema,Object Name 和 Principal Name字段:

查看审计数据,选中Server级别的审计对象,通过”View Audit Logs“查看记录的日志数据。
四,维护审计
创建审计很简单,DBA需要更多关注的是审计数据的维护
略,后续补充
参考文档:
SQLSERVER2008新增的审核/审计功能
SQL Server Audit (Database Engine)
SQL Server Audit Action Groups and Actions
sys.fn_get_audit_file (Transact-SQL)
SQL Server 审计
标签:服务 .com lock 添加 tin viewer blank sys 安全