您的位置:首页 > 数据库

8.4 数据库审核规范

2016-01-09 11:54 323 查看
8.4 数据库审核规范

8.4.1 数据库审核规范
  在数据库级别创建审核规范,可以实现数据库级别的审核。具有 ALTER ANY DATABASE AUDIT 权限的用户可以创建数据库审核规范并将其绑定到任何审核。创建数据库审核规范后,具有 CONTROL SERVER 或 ALTER ANY DATABASE AUDIT 权限的主体或 sysadmin 帐户即可查看该规范。
  数据库级别审核的操作类型可以是操作组,也可以是单个的操作(SELECT、UPDATE、INSERT、DELETE、EXECUTE、RECEIVE 和 REFERENCES 等)。
  可以在 SSMS 中查看“审核”的日志,或者使用系统函数。
  数据库级别的审核操作不适用于列。
  当查询处理器对查询进行参数化时,审核事件日志中会出现参数而不是查询的列值。




8.4.2 新建数据库审核规范
  数据库审核规范位于创建它们的数据库(tempdb 系统数据库除外)中。
  对于单个数据库而言,每一个数据库审核规范都需要绑定一个“审核”。如果某个数据库需要创建多个审核规范,那么必须绑定到多个“审核”。
  在 SSMS 中展开数据库的“安全性”,右键单击“数据库审核规范”,选择“新建数据库审核规范”。








  “对象类”可以是 DATABASE、SCHEME 或者 OBJECT。如果选择了“OBJECT”,则可以对表、视图、存储过程、函数、扩展存储过程、队列、同义词等进行的特定操作进行审核。单击“对象名称”下拉列表右侧的浏览按钮,出现“选择对象”对话框。




  如果输入的对象名称遇到多个匹配结果,将出现“找到多个对象”对话框,请选择一个或多个匹配的对象。




提示:
  在用户数据库中创建或修改数据库审核规范时,不要包括针对服务器范围对象(例如系统视图)的审核操作。如果包括服务器范围的对象,将会创建“审核”。但是,服务器范围对象将不包括,并且将不返回任何错误。若要审核服务器范围的对象,请使用 master 数据库中的数据库审核规范。

  选择“主体名称”的操作与选择“对象名称”操作方法类似,只是所选择的对象只能是用户、数据库角色或者应用程序角色。




  完成后,单击“确定”按钮。

  T-SQL 语法示例如下:
USE [SQLDB01]
GO
CREATE DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-Table-Customer]
FOR SERVER AUDIT [Audit-To-File]
ADD (SELECT ON OBJECT::[dbo].[Customer] BY [public]),
ADD (INSERT ON OBJECT::[dbo].[Customer] BY [public]),
ADD (DELETE ON OBJECT::[dbo].[Customer] BY [public]),
ADD (UPDATE ON OBJECT::[dbo].[Customer] BY [public])
GO
8.4.3 启用数据库审核规范
  新创建的数据库审核规范是“禁用”状态。如果需要启用它,则需要手动启用。




  T-SQL 语法示例如下:
ALTER DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-Table-Customer]
WITH (STATE = ON);
本文出自 “SQL Server 管理员指南” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: