Записи подсистемы аудита SQL Server

Область применения: SQL Server

Функция аудита SQL Server позволяет выполнять аудит групп событий и событий уровня сервера на уровне сервера. Дополнительные сведения см. в статье Аудит SQL Server (ядро СУБД). SQL Server.

Аудит содержит ноль или более элементов действия аудита, записываемых в цельаудита. Цель аудита может быть двоичным файлом, журналом событий приложений Windows или журналом событий безопасности Windows. Записи, переданные в цель, могут содержать элементы, описанные в приведенной ниже таблице.

Имя столбца Описание Тип Доступные всегда
event_time Дата-время срабатывания действия, доступного для аудита. datetime2 Да
sequence_no Отслеживает последовательность записей в одной записи аудита, слишком большой, чтобы уместиться в буфере записи для аудитов. int Да
action_id Идентификатор действия.

Совет. Для использования значения action_id в качестве предиката его следует преобразовать из строки символов в числовое значение. Дополнительные сведения см. в статье Фильтрация подсистемы аудита SQL Server по предикату action_id / class_type.
varchar(4) Да
succeeded Указывает, была ли проверка разрешений для действия, инициировавшего событие аудита, пройдена успешно. bit
- 1 = успех,
0 = неуспешное завершение.
Да
permission_bitmask Когда применимо, отображаются предоставленные, запрещенные или отмененные разрешения. bigint No
is_column_permission Флаг, обозначающий разрешение уровня столбца. bit
- 1 = True,
0 = False.
No
session_id Идентификатор сеанса, в котором произошло событие. int Да
server_principal_id Идентификатор контекста имени входа, в котором выполнено действие. int Да
database_principal_id Идентификатор контекста пользователя базы данных, в котором выполнено действие. int No
object_id Основной идентификатор сущности, над которой произведен аудит. Этот идентификатор может принадлежать следующим объектам:

объекты серверов;

базы данных

Объекты базы данных

объекты схемы;
int No
target_server_principal_id Участник на уровне сервера, к которому применимо действие, доступное для аудита. int Да
target_database_principal_id Участник базы данных, к которому применимо действие, доступное для аудита. int No
class_type Тип доступной для аудита сущности, для которой проводится аудит. varchar(2) Да
session_server_principal_name Участник сервера для данного сеанса. sysname Да
server_principal_name Текущее имя входа. sysname Да
server_principal_sid Идентификатор безопасности текущего имени входа. varbinary Да
database_principal_name Текущий пользователь. sysname No
target_server_principal_name Целевое имя входа действия. sysname No
target_server_principal_sid Идентификатор безопасности целевого имени входа. varbinary No
target_database_principal_name Целевой пользователь действия. sysname No
server_instance_name Имя экземпляра сервера, где проводился аудит. Используется стандартный формат «компьютер\экземпляр». nvarchar(120) Да
database_name Контекст базы данных, в котором выполнялось действие. sysname No
schema_name Контекст схемы, в котором выполнялось действие. sysname No
object_name Имя сущности, для которой проводился аудит. Это имя может принадлежать следующим объектам:

объекты серверов;

базы данных

Объекты базы данных

объекты схемы;

Инструкция Transact-SQL (если она есть)
sysname No
инструкция инструкция TSQL (если имеется) nvarchar(4000) No
additional_information Любые дополнительные сведения о событии хранятся в виде XML. nvarchar(4000) No

Примечания

Некоторые действия имеют незаполненное значение в столбце, так как оно может быть неприменимо к действию.

Аудит SQL Server хранит 4000 символов данных для полей символов в записи аудита. Если значения additional_information и statement , возвращенные из действия, доступного для аудита, возвращают более 4000 символов, то столбец sequence_no используется для записи нескольких записей в отчет аудита для одного действия аудита, чтобы зарегистрировать эти данные. Применяется следующая обработка.

  • Столбец statement делится на фрагменты по 4 000 символов.

  • Аудит SQL Server записывается в качестве первой строки для записи аудита с частичными данными. Все другие поля повторяются в каждой строке.

  • Значение sequence_no увеличивается.

  • Этот процесс повторяется до тех пор, пока не будут записаны все данные.

Можно подключиться к данным, последовательно считывая строки с помощью значения sequence_no и столбцов event_Time, action_id и session_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 (Transact-SQL)

СПЕЦИФИКАЦИЯ АУДИТА DROP SERVER (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)