

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon EC2 或 Amazon RDS Custom 数据库实例上审计 SQL Server
<a name="auditing-ec2-sql-instances"></a>

本节提供有关 Amazon EC2 和 Amazon RDS Custom 上 SQL Server 审计选项的信息，包括创建服务器和数据库审计、查看审计日志以及监控结果。

## 先决条件
<a name="ec2-prerequisites"></a>
+ 具有 `ALTER ANY SERVER AUDIT` 或 `CONTROL SERVER` 权限的数据库登录

## 支持的版本
<a name="ec2-versions"></a>
+ SQL Server 版本 2016 及更高版本的任何版本

## 使用 C2 审计模式
<a name="ec2-c2"></a>

C2 审计模式会审计用户登录、存储过程调用以及创建和删除对象等事件。此模式可以生成大量数据，因为其可以审计所有内容或不审计任何内容。C2 审计日志存储在 SQL Server 实例的默认数据目录中。每个日志文件最大可为 200 MB。当达到此限制时，将自动创建新文件。您可以使用 SQL Server Management Studio 启用 C2 审计。有关更多信息，请参阅 [Microsoft SQL Server 文档](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/c2-audit-mode-server-configuration-option)。

**重要**  
Microsoft 计划在 SQL Server 的未来版本中删除 C2 审计模式。我们建议您避免使用此功能。

要使用 C2 审计模式审计失败的登录，请执行以下操作：

1. 在 SQL Server Management Studio 中，连接到要为其启用审计的 SQL Server 实例。

1. 选择 SQL Server 实例，右键单击并选择**属性**，然后选择**安全**。

1. 对于**登录审计**，选择一个配置选项。您可以审计：仅限失败的登录、仅限成功的登录、两者或无。（默认为仅限失败的登录。）

1. 对于**选项**，选择**启用 C2 审计跟踪**。

## 创建和查看审计
<a name="ec2-creating-viewing"></a>

### 创建服务器审计
<a name="ec2-create-server-audit"></a>

SQL Server 中的服务器审计收集要监控的实例级或数据库级操作。审计输出保存到审计目标文件路径、Windows 安全日志或应用程序日志。

要创建服务器，请执行以下操作：

1. 在 SQL Server Management Studio 的对象资源管理器中，展开**安全**，右键单击**审计**，然后选择**新审计**。这将为服务器级审计创建一个新的 SQL Server Audit 对象。

1. 对于**审计目标**，选择文件、安全日志或应用程序日志。

1. 如果选择文件作为目标，请指定文件夹的位置。

1. 配置其他选项，然后选择**确定**。

1. 要启用审计，请右键单击新的审计配置，然后选择**启用审计**。

有关更多信息，请参阅 [Microsoft SQL Server 文档](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/create-a-server-audit-and-server-audit-specification)。

### 创建服务器审计规范
<a name="ec2-create-server-audit-spec"></a>

服务器审计规范收集 SQL Server 扩展事件功能引发的多个服务器级操作组。您可以在服务器审计规范中包括审计操作组。这些操作将发送给审计，并由其记录在目标文件或日志中。

要创建服务器审计规范，请执行以下操作：

1. 在 SQL Server Management Studio 的对象资源管理器中，展开**安全**，右键单击**服务器审计规范**，然后选择**新服务器审计规范**。

1. 对于**审计**，选择您之前创建的服务器审计。

1. 对于**操作**，选择指定要收集的服务器级审计操作组和审计操作的审计操作类型，然后选择**确定**。

1. 要启用服务器审计规范，请右键单击新规范，然后选择**启用服务器审计规范**。

有关更多信息，请参阅 Microsoft SQL Server 文档中的 [Create a Server Audit and Server Audit Specification](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/create-a-server-audit-and-server-audit-specification) 和 [SQL Server Audit Action Groups and Actions](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions)。

### 创建数据库审计规范
<a name="ec2-create-db-audit-spec"></a>

您可以创建数据库审计规范对象以进行数据库级审计。此规范指定要收集的数据库级审计操作组和审计操作。

要创建数据库审计规范，请执行以下操作：

1. 在 SQL Server Management Studio 的对象资源管理器中，展开要审计的数据库。

1. 展开安全文件夹，右键单击**数据库审计规范**，然后选择**新数据库审计规范**。

1. 对于**操作**，配置一个或多个数据库审计操作类型。选择要审计的语句（例如 DELETE 或 INSERT）和要对其执行操作的对象类。

1. 完成选择后，请选择**确定**。

1. 要启用数据库审计规范，请右键单击新规范，然后选择**启用数据库审计规范**。

有关更多信息，请参阅 Microsoft SQL Server 文档中的 [Create a server audit and database audit specification](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/create-a-server-audit-and-database-audit-specification) 和 [SQL Server Audit Action Groups and Actions](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions)。

### 查看 SQL Server 审计日志
<a name="ec2-view-audit-log"></a>

要查看审计日志，请执行以下操作：

1. 在 SQL Server Management Studio 中，右键单击 SQL Server Audit 对象，然后选择**查看审计日志**。

   日志文件查看器将显示审计日志，无论其位置如何（文件或 Windows 事件日志）。

1. 要自定义显示的日志条目，请选择**筛选器**。

1. 要将日志导出到日志文件，请选择**导出**。

1. 查看完日志后，选择**关闭**。

有关更多信息，请参阅 [Microsoft SQL Server 文档](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/view-a-sql-server-audit-log)。

## 监控
<a name="rds-monitoring"></a>

您可以使用 [Nagios](https://www.nagios.com/solutions/mssql-monitoring/) 等监控解决方案来监控审计日志，后者记录到审计文件、应用程序或安全事件日志或数据库中的审计表。与工单或提醒机制集成的监控解决方案可以生成实时警报和事件，以通知系统管理员或数据库管理员。