从 SQL Server 2008 Enterprise 开始,可以使用 SQL Server Audit 来设置自动审核。
在审核节点,可以创建一个或多个审核规范,这些规范可用于服务器审核规范和数据库审核规范。通过审核功能可以跟踪 SQL Server 数据库服务器上的事件。
审核可以有以下类别的操作:
1.服务器级别:这些操作包括服务器操作,例如管理更改以及登录和注销操作。
2.数据库级别:这些操作包括数据操作语言(DML)和数据定义语言(DDL)操作。
3.审核级别:这些操作包括审核过程中的操作。
“服务器审核规范”对象属于审核。可以为每个审核创建一个服务器审核规范,因为它们都是在 SQL Server 实例范围内创建的。
“数据库审核规范”对象也属于 SQL Server 审核。针对每个审核,可以为每个 SQL Server 数据库创建一个数据库审核规范。
数据库审核规范可收集由扩展事件功能引发的数据库级审核操作。可以向数据库审核规范添加审核操作组或审核事件。“审核事件”是可以由 SQL Server 引擎审核的原子操作。“审核操作组”是预定义的操作组。它们都位于 SQL Server 数据库作用域。这些操作将发送到审核,审核将它们记录到目标中。
“SQL Server审核”对象收集单个服务器实例或数据库级操作和操作组以进行监视。这种审核处于 SQL Server 实例级别。每个 SQL Server 实例可以具有多个审核。
操作实例步骤:
一、服务器级别的审核
1.创建审核
在数据库实例—安全性—实核下,新建审核
输入审核名称 audit login
在审核目标选择“file”
在文件路径输入之前建好的文件夹路径:如c:\myadmin\audit_logs
新创建完成的“审核”、“审核规范”等对象,依据默认值都是“禁用”所以并不会耗用系统资源。需要启用后,才能让审核、审核规范等发挥功能
2.创建服务器级别的审核规范-监控帐户的创建、修改与删除
Server_principal_change_group是属于服务器级别的审核操作组,当创建、改变或是删除服务器主体时,就会引发这个事件。例如执行以下的存储过程或是语句,就会引发此事件,包括:spdefaultdb、sp_defaultlanguage、sp_addlogin、sp_droplogin、sp_grantlogin、sp_revokelogin、sp_denylogin等存储过程,或是alter login等
具体审核操作类型:
http://msdn.microsoft.com/zh-cn/library/cc280663(v=sql.105).aspx
在create server AuditSpecification 界面上
输入名称:monitor login
点选审核--Audit login
建立后,右键启用服务器审核规范,下图
3.测试审核功能
创建登录帐号u01
再删除帐号
4.查看审核日志
可以在右边继续看到信息,包括看到创建帐户的程序代.