当前位置:Gxlcms > 数据库问题 > SQL Server 审计

SQL Server 审计

时间:2021-07-01 10:21:17 帮助过:4人阅读

  • 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   安全   

人气教程排行