ACCESSSQL Server 审计

审计(Audit)用于追踪和记录SQL
Server实例或数据库中发生的风波,审计重点概括审计对象(Audit)和审计标准(Audit
Specification),创制审计首先需要创建一个SQL Server
实例级的审计对象,然后,创设从属于它的“服务器审计标准”或“数据库审计标准”。审计数据可以输出到审计文件(File)、安全日志(Security
Log)和应用程序日志(Application Log)。

启用审计的目的一般是为着监控SQL
Server执行的操作,例如,记录什么人在怎么样时候查询数据、修改数据,登陆SQL
Server实例等,由于审计记录的数码有可能很丰盛,因而,启用审计可能暴发大量的日记数据,占用磁盘的恢宏空间。审计使用一句话来概括就是:记录谁在怎么样时候做了怎么样事,审计对象(Audit)定义:配置数据存在何处,而审计标准(Audit
Specification)定义:记录什么事,一旦特定的事件触发,SQL
Server引擎就采取审计记录事件爆发的当场消息。

创建和选拔审计的一般步骤是:

  • step1:创征服务器级另外审计对象,并启用审计对象;
  • step2:成立审计标准,并映射到审计对象审核,启用审计标准,审计对象开始追踪和著录数据;
  • step3:查看审计数据,可以通过运用SSMS的”Log Files
    Viewer“或函数sys.fn_get_audit_file 查看记录的日记数据。

一,创制审计对象

先是创制伏务器级其余审计对象,展开”Security”,右击Audits,通过“New
Audit”,打开“Create
Audit”窗体最先创建审计对象,审计输出的数据保存到“奥迪t
destination”中,本文采用File,把数据存储到审计文件中,其他系列是:Security
Log和Application Log。Queue
delay是指多少写入到审计文件的延迟,默认是1s。审计对象的法力是点名审计数据保存的不二法门,以及写入数据的推迟和数据文件的分寸,审计对象首假设储存审计标准的数量。

遵照硬盘空间的范围,设置审计对象的性能 Audit File maximum Limit、马克斯(Max)imum
File size、以及Reserve disk
space,控制审计文件的大大小小,管理硬盘空间的拔取,制止硬盘爆掉。

ACCESS 1

创设的审计对象默认是剥夺(Disable)的,在行使审计对象在此以前,必须启用,选中新建的审计对象,右击,选中“Enable
Audit”。

二,创制服务器级此外审计标准

开展Security,选中“Server Audit
Specifications”,右击弹出急迅菜单,拔取“New Server Audit
Specifications”,打开“Create Server Audit
Specifications”的窗体,通过UI创立审计标准:

ACCESS 2

审计标准指定审计对象记录的事件类型,在审计标准中指定的风波类型,SQL
Server
一旦检测到事件时有发生,就会把跟该事件相关的音信写入到审计对象指定的文本中,保存起来,以便于继续的反省(review)。

1,添加审计操作组

 创设审计标准,接纳审计对象,从Audit Action
Type列表中挑选审计操作组,创立的审计标准默认是剥夺的,选中新建的审计标准,右击弹出高速菜单,选中”Enable Server
Audit Specifications “启用:

 ACCESS 3

从查处操作类型列表中精选审计操作组,审计操作组是审计记录的事件操作类型,常用的审计操作组是: 

  • 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“查看审计对象记录的数量:

ACCESS 4

抑或经过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字段:

ACCESS 5

查阅审计数据,选中Server级另外审计对象,通过”View Audit
Logs“查看记录的日志数据。

四,维护审计

开创审计很粗略,DBA需要更多关注的是审计数据的爱惜

ACCESS,略,后续补充

 

参照文档:

SQLSERVER2008新增的复核/审计功用

SQL Server Audit (Database
Engine)

SQL Server Audit Action Groups and
Actions

sys.fn_get_audit_file
(Transact-SQL)

相关文章