本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中创建服务器审核和服务器审核规范。 审核 SQL Server 或 SQL Server 数据库的实例涉及跟踪和记录系统上发生的事件。 SQL Server Audit 对象收集要监视的服务器级或数据库级作和作组的单个实例。 这种审核处于 SQL Server 实例级别。 每个 SQL Server 实例可以包含多个审计。 “服务器审核规范”对象属于审核。 可以为每个审核创建一个服务器审核规范,因为它们都是在 SQL Server 实例范围内创建的。 有关详细信息,请参阅 SQL Server 审核(数据库引擎)。
本主题内容
准备工作:
若要创建服务器审核和服务器审核规范,请使用:
在您开始之前
局限性与限制
在为其创建服务器审核规范之前,必须存在审核。 创建服务器审核规范时,该规范处于禁用状态。
CREATE SERVER AUDIT 语句位于事务的范围内。 如果对事务进行回滚,也将对该语句进行回滚。
安全
权限
若要创建、更改或删除服务器审核,主体需要 ALTER ANY SERVER AUDIT 或 CONTROL SERVER 权限。
具有 ALTER ANY SERVER AUDIT 权限的用户可以创建服务器审核规范并将其绑定到任何审核。
创建服务器审核规范后,拥有 CONTROL SERVER 或 ALTER ANY SERVER AUDIT 权限的主体、sysadmin 帐户或具有显式访问审核权限的主体可以查看该审核规范。
使用 SQL Server Management Studio
创建服务器审核
在对象资源管理器中,展开 “安全 ”文件夹。
右键单击“ 审核” 文件夹,然后选择“ 新建审核...”。
“创建审核”对话框的“常规”页上提供了以下选项。
审核名称
审核的名称。 创建新审核时此项会自动生成,但可以编辑。队列延迟(以毫秒为单位)
指定在强制执行审核操作之前可以经过的时间(以毫秒为单位)。 值 0 指示同步传递。 默认值为 1000 (1 秒)。 最大值为2,147,483,647(2,147,483.647秒或24天,20小时,31分钟,23.647秒)。审核日志失败时:
Continue
SQL Server 操作将继续。 审核记录不会保留。 如果故障条件被解决,审核将继续尝试记录事件并恢复。 选择 “继续 ”选项可以允许违反安全策略的未经审核的活动。 如果数据库引擎的持续操作比维护完整的审计更为重要,请选择此选项。 这是默认选项。关闭服务器
当写入目标的服务器实例无法将数据写入审核目标时,强制服务器关闭。 发出此权限的SHUTDOWN登录名必须具有权限。 如果登录没有此权限,此函数将失败,并引发错误消息。 未发生审核的事件。 如果审核失败可能会损害系统的安全性或完整性,请选择此选项。失败作
如果在 SQL Server 审核无法写入审核日志的情况下,此选项会导致数据库操作失败,以防止可能导致审核事件。 未发生审核的事件。 不会导致审核事件的操作可以继续。 审核将继续尝试记录事件,如果故障条件被解决,将会恢复。 维护完整审核时选择此选项比对数据库引擎的完全访问权限更重要。重要
当审核处于失败状态时,专用管理员连接可以继续执行审核的事件。
审核目标 列表
指定审核数据的目标。 可用选项包括二进制文件、Windows 应用程序日志或 Windows 安全日志。 在不配置 Windows 中的其他设置的情况下,SQL Server 无法写入 Windows 安全日志。 有关详细信息,请参阅 将 SQL Server 审核事件写入安全日志。文件路径
指定在 审核目标 为文件时写入审核数据的文件夹的位置。省略号 (...)
打开 “查找文件夹 -server_name ”对话框以指定文件路径或创建写入审核文件的文件夹。审核文件最大限制:
最大滚动更新文件
指定,当达到最大审核文件数时,最早的审核文件将被新文件内容覆盖。最大文件数
指定在达到最大审核文件数时,导致生成其他审核事件的任何作都将失败并出现错误。“无限制 ”复选框
选中“最大滚动更新文件数”下的“无限制”复选框时,将创建的审核文件数没有限制。 默认情况下,选中“无限制”复选框,并适用于“最大滚动文件”和“最大文件”的选择。文件数
指定要创建的审核文件数,最多为 2,147,483,647。 仅当未选中 “无限制 ”时,此选项才可用。最大文件大小
指定审核文件的最大大小,单位为兆字节(MB)、千兆字节(GB)或太字节(TB)。 可以指定 1024 MB 到 2,147,483,647 TB。 选中 “无限制 ”复选框不会对文件大小施加限制。 指定小于 1024 MB 的值将失败,并返回错误。 默认情况下选中“ 无限制 ”复选框。“保留磁盘空间 ”复选框
指定在磁盘上预先分配的空间等于指定的最大文件大小。 仅当未选中“最大文件大小”下的“无限制”复选框时,才能使用此设置。 默认情况下未选中此复选框。(可选)在 “筛选器 ”页上,输入谓词或
WHERE子句到服务器审核,以指定“ 常规 ”页中不可用的其他选项。 将谓词括在括号中;例如:(object_name = 'EmployeesTable').选择完选项后,单击“ 确定”。
创建服务器审计规范
在对象资源管理器中,单击加号以展开 “安全 ”文件夹。
右键单击“服务器审核规范”文件夹,然后选择“新建服务器审核规范…”。
“ 创建服务器审核规范 ”对话框中提供了以下选项。
名称
服务器审核规范的名称。 当你创建新的服务器审核规范时,系统会自动生成此规范,但它可以进行编辑。审核
现有服务器审核的名称。 键入审核的名称或从列表中选择它。审核动作类型
指定要捕获的服务器级审核动作组和审核动作。 有关服务器级审核操作组和审核操作的列表,以及它们包含的事件的说明,请参阅 SQL Server 审核操作组和操作。对象架构
显示指定 对象名称的架构。对象名称
要审核的对象的名称。 这仅适用于审核操作;它不适用于审核组。省略号 (...)
打开 “选择对象 ”对话框,根据指定的 审核作类型浏览和选择可用对象。主体名称
根据被审核对象筛选审核的帐户。省略号 (...)
打开 “选择对象 ”对话框,根据指定的 对象名称浏览和选择可用对象。完成后,单击确定。
使用 Transact-SQL
创建服务器审计
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
-- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options. CREATE SERVER AUDIT HIPAA_Audit TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );
创建服务器审核规范
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
/*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above. */ CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification FOR SERVER AUDIT HIPAA_Audit ADD (FAILED_LOGIN_GROUP); GO -- Enables the audit. ALTER SERVER AUDIT HIPAA_Audit WITH (STATE = ON); GO
有关详细信息,请参阅 CREATE SERVER AUDIT (Transact-SQL) 和 CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)。