Записи подсистемы аудита 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)