将 SQL Server 审核事件写入安全日志

在高安全环境中,Windows 安全日志是写入记录对象访问的事件的适当位置。 支持其他审核地点,但更容易被篡改。

将 SQL Server 服务器审核写入 Windows 安全日志有两个关键要求:

  • 必须将审核对象访问设置配置为捕获事件。 审核策略工具 (auditpol.exe) 在 审核对象访问 类别中公开各种子策略设置。 若要允许 SQL Server 审核对象访问,请配置 应用程序生成的 设置。

  • 运行 SQL Server 服务的帐户必须具有生成安全审核权限,才能写入 Windows 安全日志。 默认情况下,LOCAL SERVICE 和 NETWORK SERVICE 帐户具有此权限。 如果 SQL Server 在其中一个帐户下运行,则不需要此步骤。

如果 Windows 审核策略配置为写入 Windows 安全日志,则 Windows 审核策略可能会影响 SQL Server 审核,如果审核策略配置不正确,可能会丢失事件。 通常,Windows 安全日志设置为覆盖旧事件。 这会保留最新的事件。 但是,如果未将 Windows 安全日志设置为覆盖旧事件,则如果安全日志已满,系统将发出 Windows 事件 1104(日志已满)。 此时:

  • 不会记录进一步的安全事件

  • SQL Server 将无法检测到系统无法记录安全日志中的事件,从而导致可能丢失审核事件

  • 框管理员修复安全日志后,日志记录行为将恢复正常。

本主题内容

在您开始之前

局限性与限制

SQL Server 计算机的管理员应了解安全日志的本地设置可由域策略覆盖。 在这种情况下,域策略可能会覆盖子类别设置(auditpol /get /subcategory:“application generated”)。 这可能会影响 SQL Server 记录事件的能力,而无需任何方法来检测 SQL Server 尝试审核的事件不会被记录。

安全

权限

你必须是 Windows 管理员才能配置这些设置。

使用 auditpol 在 Windows 中配置审核对象访问设置

  1. 使用管理权限打开命令提示符。

    1. “开始 ”菜单上,指向 “所有程序”,指向 “附件”,右键单击“ 命令提示符”,然后单击“ 以管理员身份运行”。

    2. 如果“ 用户帐户控制 ”对话框打开,请单击“ 继续”。

  2. 执行以下语句,以便从 SQL Server 启用审核。

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable  
    
  3. 关闭命令提示符窗口。

使用 secpol 向帐户授予生成安全审核权限

  1. 对于任何 Windows作系统,在 “开始 ”菜单上,单击“ 运行”。

  2. 键入 secpol.msc ,然后单击“ 确定”。 如果出现 “用户访问控制 ”对话框,请单击“ 继续”。

  3. 在“本地安全策略”工具中,展开 “安全设置”,展开 “本地策略”,然后单击“ 用户权限分配”。

  4. 在结果窗格中,双击“ 生成安全审核”。

  5. 在“ 本地安全设置 ”选项卡上,单击“ 添加用户或组”。

  6. “选择用户、计算机或组 ”对话框中,键入用户帐户的名称,例如 domain1\user1 ,然后单击“ 确定”,或单击“ 高级 ”并搜索该帐户。

  7. 单击 “确定”

  8. 关闭安全策略工具。

  9. 重启 SQL Server 以启用此设置。

使用 secpol 在 Windows 中配置审核对象访问设置

  1. 如果作系统早于 Windows Vista 或 Windows Server 2008,请在 “开始 ”菜单上单击“ 运行”。

  2. 键入 secpol.msc ,然后单击“ 确定”。 如果出现 “用户访问控制 ”对话框,请单击“ 继续”。

  3. 在“本地安全策略”工具中,展开 “安全设置”,展开 “本地策略”,然后单击“ 审核策略”。

  4. 在结果窗格中,双击“ 审核对象访问”。

  5. “本地安全设置” 选项卡的 “审核这些尝试” 区域中,选择 “成功”“失败”

  6. 单击 “确定”

  7. 关闭安全策略工具。

另请参阅

SQL Server 审核(数据库引擎)