Записи подсистемы аудита SQL Server
Подсистема аудита SQL Server позволяет выполнять аудит событий и групп событий на уровне сервера и уровне базы данных. Дополнительные сведения см. в разделе Основные сведения о подсистеме аудита SQL Server. SQL Server.
Аудит содержит ноль или более элементов действия аудита, записываемых в цель аудита. Цель аудита может быть двоичным файлом, журналом событий приложений Windows или журналом событий безопасности Windows. Записи, переданные в цель, могут содержать элементы, описанные в следующей таблице.
Имя столбца |
Описание |
Тип |
Доступна всегда |
---|---|---|---|
event_time |
Дата-время срабатывания действия, доступного для аудита. |
datetime2 |
Да |
sequence_no |
Отслеживает последовательность записей в одной записи аудита, слишком большой, чтобы уместиться в буфере записи для аудитов. |
int |
Да |
action_id |
Идентификатор действия. |
char(4) |
Да |
succeeded |
Показывает, было ли успешным действие, запустившее событие. |
bit – 1 = успешное завершение, 0 = неуспешное завершение. |
Да |
permission_bitmask |
Когда применимо, отображаются предоставленные, запрещенные или отмененные разрешения. |
bigint |
Нет |
is_column_permission |
Флаг, обозначающий разрешение уровня столбца. |
bit – 1 = True, 0 = False. |
Нет |
session_id |
Идентификатор сеанса, во время которого произошло событие. |
int |
Да |
server_principal_id |
Идентификатор контекста имени входа, в котором выполнено действие. |
int |
Да |
database_principal_id |
Идентификатор контекста пользователя базы данных, в котором выполнено действие. |
int |
Нет |
object_ id |
Основной идентификатор сущности, над которой произведен аудит. В том числе:
|
int |
Нет |
target_server_principal_id |
Участник на уровне сервера, к которому применимо действие, доступное для аудита. |
int |
Да |
target_database_principal_id |
Участник базы данных, к которому применимо действие, доступное для аудита. |
int |
Нет |
class_type |
Тип доступной для аудита сущности, для которой проводится аудит. |
char(2) |
Да |
session_server_principal_name |
Участник сервера для данного сеанса. |
sysname |
Да |
server_principal_name |
Текущее имя входа. |
sysname |
Да |
server_principal_sid |
Идентификатор безопасности текущего имени входа. |
varbinary |
Да |
database_principal_name |
Текущий пользователь. |
sysname |
Нет |
target_server_principal_name |
Целевое имя входа действия. |
sysname |
Нет |
target_server_principal_sid |
Идентификатор безопасности целевого имени входа. |
varbinary |
Нет |
target_database_principal_name |
Целевой пользователь действия. |
sysname |
Нет |
server_instance_name |
Имя экземпляра сервера, где проводился аудит. Используется стандартный формат «компьютер-экземпляр». |
nvarchar(120) |
Да |
имя_базы_данных |
Контекст базы данных, в котором выполнялось действие. |
sysname |
Нет |
имя_схемы |
Контекст схемы, в котором выполнялось действие. |
sysname |
Нет |
object_name |
Имя сущности, для которой проводился аудит. В том числе:
|
sysname |
Нет |
statement |
Инструкция TSQL (если есть). |
nvarchar(4000) |
Нет |
additional_information |
Любые дополнительные сведения о событии хранятся в виде XML. |
nvarchar(4000) |
Нет |
Замечания
Некоторые действия имеют незаполненное значение в столбце, так как оно может быть неприменимо к действию.
Подсистема аудита SQL Server хранит 4 000 символов данных для символьных полей в записи аудита. Если значения additional_information и statement, возвращенные из действия, доступного для аудита, возвращают более 4 000 символов, то столбец sequence_no используется для записи нескольких записей в отчет аудита для одного действия аудита, чтобы зарегистрировать эти данные. Применяется следующая обработка.
Столбец statement делится на фрагменты по 4 000 символов.
Подсистема аудита SQL Server записывает в первую строку запись аудита с частичными данными. Все другие поля повторяются в каждой строке.
Значение sequence_no увеличивается.
Этот процесс повторяется до тех пор, пока не будут записаны все данные.
Можно подключиться к данным, последовательно считывая строки с помощью значения sequence_no и столбцов event_Time, action_id и session_id для идентификации действия.
См. также