“审核”SQL Server 的实例或 SQL Server 数据库涉及到跟踪和记录系统中发生的事件。您可以使用几种方法来审核 SQL Server,如审核(数据库引擎)中所述。从 SQL Server 2008 Enterprise 开始,您还可以通过使用 SQL Server 审核来设置自动审核。
SQL Server 的审核级别有若干种,具体取决于您的安装的政府要求或标准要求。SQL Server 审核提供若干必需的工具和进程,用于启用、存储和查看对各个服务器和数据库对象的审核。
您可以记录每个实例的服务器审核操作组,或记录每个数据库的数据库审核操作组或数据库审核操作。在每次遇到可审核操作时,都将发生审核事件。
SQL Server 审核组件
“审核”是将若干元素组合到一个包中,用于执行一组特定服务器操作或数据库操作。SQL Server 审核的组件组合生成的输出就称为审核,就如同报表定义与图形和数据元素组合生成报表一样。
SQL Server 审核使用“扩展事件”以帮助创建审核。有关扩展事件的详细信息,请参阅SQL Server 扩展事件简介。
SQL Server 审核
“SQL Server 审核”对象收集单个服务器实例或数据库级操作和操作组以进行监视。这种审核处于 SQL Server 实例级别。每个 SQL Server 实例可以具有多个审核。
定义审核时,将指定结果的输出位置。这是审核的目标位置。审核是在禁用状态下创建的,因此不会自动审核任何操作。启用审核后,审核目标将从审核接收数据。
服务器审核规范
“服务器审核规范”对象属于审核。您可以为每个审核创建一个服务器审核规范,因为它们都是在 SQL Server 实例范围内创建的。
服务器审核规范可收集许多由扩展事件功能引发的服务器级操作组。您可以在服务器审核规范中包括“审核操作组”。审核操作组是预定义的操作组,它们是数据库引擎公开的原子事件。这些操作将发送到审核,审核将它们记录到目标中。
SQL Server 审核操作组和操作主题介绍了服务器级的审核操作组。
数据库审核规范
“数据库审核规范”对象也属于 SQL Server 审核。针对每个审核,您可以为每个 SQL Server 数据库创建一个数据库审核规范。
数据库审核规范可收集由扩展事件功能引发的数据库级审核操作。您可以向数据库审核规范添加审核操作组或审核事件。“审核事件”是可以由 SQL Server 引擎审核的原子操作。“审核操作组”是预定义的操作组。它们都位于 SQL Server 数据库作用域。这些操作将发送到审核,审核将它们记录到目标中。
SQL Server 审核操作组和操作主题介绍了数据库级别审核操作组和审核操作。
目标
审核结果将发送到目标,目标可以是文件、Windows 安全事件日志或 Windows 应用程序事件日志。(在 Windows XP 上不可写入安全日志。)必须定期查看和归档这些日志,以确保目标具有足够的空间来写入更多记录。
重要提示:
任何经过身份验证的用户可以读取和写入到 Windows 应用程序事件日志。应用程序事件日志要求的权限比 Windows 安全事件日志低,安全性低于 Windows 安全事件日志。
必须将 SQL Server 服务帐户应添加到生成安全审核策略中才能写入 Windows 安全日志。默认情况下,本地系统、本地服务和网络服务都是此策略的一部分。此设置可通过使用安全策略管理单元 (secpol.msc) 配置。此外,对于“成功”和“失败”均必须启用“审核对象访问”安全策略。此设置可通过使用安全策略管理单元 (secpol.msc) 配置。在 Windows Vista 或 Windows Server 2008 中,可通过使用审核策略程序 (AuditPol.exe) 从命令行设置更详细的“应用程序生成的”策略。有关启用 Windows 安全日志写入的步骤的详细信息,请参阅如何将服务器审核事件写入安全日志。
有关 Auditpol.exe 程序的详细信息,请参阅知识库文章 921469,如何使用组策略为 Windows Server 2003 域或 Windows 2000 域中的 Windows Vista 客户端计算机配置详细的安全审核设置。
Windows 事件日志对于 Windows 操作系统具有全局性。有关 Windows 事件日志的详细信息,请参阅事件查看器概述。
如果需要关于审核的更精准权限,请使用二进制文件目标。
有关写入目标的审核记录的详细信息,请参阅 SQL Server 审核记录。
使用 SQL Server 审核概述
可以使用 SQL Server Management Studio 或 Transact-SQL 定义审核。在创建并启用审核后,目标将接收各项。
您可以使用 Windows 中的“事件查看器”实用工具来读取 Windows 事件。对于文件目标,您可以使用 SQL Server Management Studio 中的“日志文件查看器”或使用 fn_get_audit_file 函数来读取目标文件。
以下是创建和使用审核的一般过程。