【IT专家网独家】SQL Server 2008引入了SQL Server审核的新特性。SQL Server数据库的审核涉及到数据库的跟踪和日志事件的记录。数据库管理员可以利用这个特性,来执行一项战略,审核 SQL Server 系统上的活动和更改,以满足特定风险的SQL Server 2008数据库的需求。

  1、数据库审核规范

  “数据库审核规范”对象也属于SQL Server审核。针对每个审核,DBA可以为每个 SQL Server 数据库创建一个数据库审核规范。

  图1:SQL Server审核构成说明

  数据库审核规范可收集由扩展事件功能引发的数据库级审核操作。您可以向数据库审核规范添加审核操作组或审核事件。“审核事件”是可以由 SQL Server 引擎审核的原子操作;“审核操作组”是预定义的操作组。它们都位于 SQL Server 数据库作用。这些操作将发送到审核,审核将它们记录到目标中,,目标可以是文件、Windows 安全事件日志或 Windows 应用程序事件日志,如图1所示。管理员必须定期查看和归档这些日志,以确保目标具有足够的空间来写入更多记录。

  属于db_owner角色的用户可以修改数据库中任何的审核规范。

  2、如何使用SQL Server审核功能

  DBA可以使用SQL Server Management Studio ( SSMS )或Transact-SQL来定义审核。默认情况下, SQL Server不会启用审核功能,因此我们创建好审核功能后,需要手动启用。

  您可以使用Windows中的事件查看器阅读Windows安全事件日志或者Windows应用程序事件日志。您也可以使用日志文件查看工具在SQL Server Management Studio或内置的FN_READ_AUDIT_FILE功能在SQL Server中读取目标文件。

  创建和使用的审核功能的过程大体如下:

  1、创建一个审核,并定义审核信息需要捕获的目标;

  2、创建服务器审核规范或数据库审核规范;

  3、启用审核规范。SQL Server创建审核时,默认是不启用审核规范的;

  4、使用Windows事件查看器,查看日志文件或者使用内置FN_READ_AUDIT_FILE功能,分析所捕获的审核事件。

3、配置SQL Server 2008中的审核对象

  必须先创建和配置可以用于审核的 SQL Server 审核对象,才可以创建数据库服务器审核规范。

  1、使用SQL Server Management Studio连接到SQL Server 2008实例。

  2、在对象资源管理器中,右键点击“安全性à审核”节点,在弹出菜单中选择“新建审核”选项,创建一个新的审核对象,如图2所示:

新建审核菜单项

  图2:新建审核菜单项

  3、SQL Server 2008将弹出一个新的窗口创建审核,如图3所示:

创建审核对象弹出窗口

  图3:创建审核对象弹出窗口

3、配置SQL Server 2008中的审核对象

  必须先创建和配置可以用于审核的 SQL Server 审核对象,才可以创建数据库服务器审核规范。

  1、使用SQL Server Management Studio连接到SQL Server 2008实例。

  2、在对象资源管理器中,右键点击“安全性à审核”节点,在弹出菜单中选择“新建审核”选项,创建一个新的审核对象,如图2所示:

新建审核菜单项

  图2:新建审核菜单项

  3、SQL Server 2008将弹出一个新的窗口创建审核,如图3所示:

创建审核对象弹出窗口

  图3:创建审核对象弹出窗口

您需要输入一些信息:

  l 审核名称:提供审核对象的名称

  l 队列延迟(毫秒):指定在强制处理审核操作之前可以等待的时间(毫秒)。值 0 指示同步传递。默认的最小值为 1000(1 秒)。最大值为 2,147,483,647(2,147,483.647 秒,即24天20小时31分钟 23.647 秒)。

  l 在审核日志故障时关闭服务器:在写入目标的服务器实例时,如果无法将数据写入审核目标时,强制关闭服务器。发出此命令的登录名必须具有 SHUTDOWN 权限。如果该登录名没有此权限,则该函数将失败并将引发错误消息。

  最佳的做法是,只有当审核故障可能会威胁系统的安全性或完整性时,才应当使用此命令。

  l 审核目标:指定数据的审核目标。可用选项包括二进制文件、Windows 应用程序事件日志或 Windows 安全事件日志。如果未在 Windows 中配置其他设置,SQL Server 无法写入 Windows 安全事件日志。需要注意的是,在 Windows XP 上不可写入安全事件日志。

  l 文件路径:当指定“审核目标”是文件时,要将审核数据写入的该参数指定的文件夹所在的位置。

  打开“浏览文件夹”对话框指定文件路径或者创建要写入审核文件的文件夹。

  l 最大滚动更新文件数:指定要保留在文件系统中的最大审核文件数。设置为 MAX_ROLLOVER_FILES=UNLIMITED 时,未对将创建的滚动更新文件数施加任何限制。默认设置是无限的(UNLIMITED)。可以指定的最大文件数为 2,147,483,647。

  l 最大文件大小:以兆字节 (MB) 为单位指定审核文件的最大大小。可以指定的最小大小为 1024 KB,最大大小为 2,147,483,647 TB。还可以指定 UNLIMITED(即不对文件大小施加限制)。指定一个小于 1024 KB 的值将引发错误 MSG_MAXSIZE_TOO_SMALL。默认设置为 UNLIMITED。

  l 保留磁盘空间:指定在磁盘上预先分配与指定的最大文件大小相等的空间。只有当 MAXSIZE 不等于 UNLIMITED 时,才能使用此设置。默认设置为 OFF。

  一旦审核对象创建后就必须启用。如图4所示:

启用审核对象菜单项

  图4:启用审核对象菜单项

5. 如果审核启用成功后,你将看到类似图5的提示消息框:

成功启用审核后的提示窗口

  图5:成功启用审核后的提示窗口

  6. 你可以右键点击SQLServerAuditing,在弹出菜单中,选择“View Audit Logs”来查看审核日志。

查看审核日志菜单项

  图6:查看审核日志菜单项