SQL Server 审核记录

适用范围:SQL Server

使用 SQL Server 审核功能,可以对服务器级别和数据库级别事件组和事件进行审核。 有关详细信息,请参阅 SQL Server 审核(数据库引擎)。 SQL Server。

审核由零个或多个审核操作项组成,这些操作项会记录到审核“ 目标”。 审核目标可以是二进制文件、Windows 应用程序事件日志或 Windows 安全事件日志。 发送到目标的记录可以包含下表中介绍的元素:

列名 说明 类型 始终可用
event_time 触发可审核操作的日期/时间。 datetime2
sequence_no 跟踪单个审核记录中的记录顺序,该记录太大而无法放在写入缓冲区中以进行审核。 int
action_id 操作的 ID

提示:若要将 action_id 用作谓词,必须将它从字符串转换为数值。 有关详细信息,请参阅 Filter SQL Server Audit on action_id / class_type predicate(使用 action_id / class_type 谓词筛选 SQL Server 审核)。
varchar(4)
succeeded 指示触发审核事件的操作的权限检查是否成功或失败。 bit
- 1 = 成功,
0 = 失败
permission_bitmask 在适用的情况下,显示已授予、已拒绝或已撤销的权限 bigint
is_column_permission 指示列级别权限的标志 bit
- 1 = True,
0 = False
session_id 发生该事件的会话的 ID。 int
server_principal_id 在其中执行操作的登录上下文 ID。 int
database_principal_id 在其中执行操作的数据库用户上下文 ID。 int
object_id 发生审核的实体的主 ID。 此 ID 可以是:

服务器对象

数据库

数据库对象

架构对象
int
target_server_principal_id 可审核操作适用的服务器主体。 int
target_database_principal_id 可审核操作适用的数据库主体。 int
class_type 发生审核的可审核实体的类型。 varchar(2)
session_server_principal_name 会话的服务器主体。 sysname
server_principal_name 当前登录名。 sysname
server_principal_sid 当前登录名 SID。 varbinary
database_principal_name 当前用户。 sysname
target_server_principal_name 操作的目标登录名。 sysname
target_server_principal_sid 目标登录名的 SID。 varbinary
target_database_principal_name 操作的目标用户。 sysname
server_instance_name 发生审核的服务器实例的名称。 使用标准计算机\实例格式。 nvarchar(120)
database_name 发生此操作的数据库上下文。 sysname
schema_name 在其中执行操作的架构上下文。 sysname
object_name 发生审核的实体的名称。 此名称可以是:

服务器对象

数据库

数据库对象

架构对象

Transact-SQL 语句(如有)
sysname
语句 TSQL 语句(如果有) nvarchar(4000)
additional_information 有关此事件的其他任何信息,存储为 XML。 nvarchar(4000)

注解

某些操作不填充列的值,这是因为它可能不适用于此操作。

SQL Server 审核可以为审核记录中的字符字段存储 4000 个数据字符。 当可审核操作返回的 additional_informationstatement 值返回的字符超过 4000 个时, sequence_no 列用于将多个记录写入到单个审核操作的审核报表中以记录此数据。 过程如下:

  • statement 列分为 4000 个字符。

  • SQL Server 审核作为具有部分数据的审核记录的第一行写入。 所有其他字段在每一行中是重复的。

  • sequence_no 值是递增的。

  • 此过程将一直重复,直至记录了所有数据为止。

可以使用 sequence_no 值按顺序读取行以及 event_Timeaction_idsession_id 列来连接数据,从而标识操作。

CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sys.fn_get_audit_file (Transact-SQL)

sys.server_audits (Transact-SQL)

sys.server_file_audits (Transact-SQL)

sys.server_audit_specifications (Transact-SQL)

sys.server_audit_specification_details (Transact-SQL)

sys.database_audit_specifications (Transact-SQL)

sys.database_audit_specification_details (Transact-SQL)

sys.dm_server_audit_status (Transact-SQL)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)