Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Функция аудита SQL Server позволяет выполнять аудит групп событий и событий уровня сервера на уровне сервера. Дополнительные сведения см. в статье Аудит SQL Server (ядро СУБД). SQL Server.
Аудит содержит ноль или более элементов действия аудита, записываемых в цельаудита. Цель аудита может быть двоичным файлом, журналом событий приложений Windows или журналом событий безопасности Windows. Записи, переданные в цель, могут содержать элементы, описанные в приведенной ниже таблице.
| Имя столбца | Описание | Тип | Доступные всегда |
|---|---|---|---|
| event_time | Дата и время запуска проверяемого действия. | datetime2 | Да |
| sequence_number | Отслеживает последовательность записей в одной записи аудита, слишком большой, чтобы уместиться в буфере записи для аудитов. | int | Да |
| action_id | Идентификатор действия. Совет. Для использования значения action_id в качестве предиката его следует преобразовать из строки символов в числовое значение. Дополнительные сведения см. в статье Фильтрация подсистемы аудита SQL Server по предикату action_id / class_type. |
varchar(4) | Да |
| succeeded | Указывает, успешно ли выполнено действие, активировающее событие. Для всех событий, отличных от событий входа, это сообщает только о том, выполнена ли проверка разрешений успешно или не выполнена, а не операция. - 1 = успех - 0 = сбой |
bit | Да |
| permission_bitmask | В некоторых действиях это разрешения, которые были предоставлены, отклонены или отменены. | varbinary(16) | No |
| is_column_permission | Флаг, указывающий, является ли это разрешением уровня столбца. Возвращает значение 0, когда permission_bitmask = 0. - 1 = Истина - 0 = Ложь |
bit | No |
| session_id | Идентификатор сеанса, в котором произошло событие. | smallint | Да |
| server_principal_id | Идентификатор контекста имени входа, в котором выполнено действие. | int | Да |
| database_principal_id | Идентификатор контекста пользователя базы данных, в котором выполнено действие. Возвращает значение 0, если это не применяется. Например, операция сервера. | int | No |
| target_server_principal_id | Субъект-сервер, на который выполняется операция GRANT/DENY/REVOKE. Возвращает значение 0, если применимо. | int | Да |
| target_database_principal_id | Субъект базы данных выполняет операцию GRANT/DENY/REVOKE. Возвращает значение 0, если применимо. | int | No |
| object_id | Идентификатор сущности, в которой произошел аудит. К ним относятся: объекты серверов; базы данных Объекты базы данных объекты схемы; Возвращает значение 0, если сущность является самой сервером или если аудит не выполняется на уровне объекта. Например, проверка подлинности. |
int | No |
| class_type | Тип проверяемой сущности, в которую выполняется аудит. | varchar(2) | Да |
| session_server_principal_name | Участник сервера для данного сеанса. | sysname | Да |
| server_principal_name | Текущее имя входа. | sysname | Да |
| server_principal_sid | Идентификатор безопасности текущего имени входа. | varbinary(85) | Да |
| database_principal_name | Текущий пользователь. | sysname | No |
| target_server_principal_name | Целевое имя входа действия. Возвращает значение NULL, если применимо. | sysname | No |
| target_server_principal_sid | Идентификатор безопасности целевого имени входа. Возвращает значение NULL, если применимо. | varbinary(85) | No |
| target_database_principal_name | Целевой пользователь действия. Возвращает значение NULL, если применимо. | sysname | No |
| server_instance_name | Имя экземпляра сервера, где проводился аудит. Используется стандартный формат сервера\экземпляра. | sysname | Да |
| database_name | Контекст базы данных, в котором выполнялось действие. Допускает значение NULL. Возвращает значение NULL для аудита, происходящих на уровне сервера. | sysname | No |
| schema_name | Контекст схемы, в котором выполнялось действие. | sysname | No |
| object_name | Имя сущности, для которой проводился аудит. К ним относятся: объекты серверов; базы данных Объекты базы данных объекты схемы; Допускает значение NULL. Возвращает значение NULL, если сущность является сервером или если аудит не выполняется на уровне объекта. Например, проверка подлинности. |
sysname | No |
| инструкция | Инструкция TSQL, если она существует. Возвращает значение NULL, если применимо. | nvarchar(4000) | No |
| additional_information | Уникальные сведения, которые применяются только к одному событию, возвращаются в формате XML. Некоторые действия, доступные для аудита, содержат такие сведения. Один уровень стека TSQL будет отображаться в формате XML для действий с стеком TSQL, связанным с ними. Формат XML будет следующим: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Nest_level кадра указывает текущий уровень вложения кадра. Имя модуля представлено в трех частях (database_name, schema_name и object_name). Имя модуля будет проанализировано, чтобы избежать недопустимых xml-символов, таких как '\<', '>', '/'. '_x' Они будут сбежали как _xHHHH\_. HHH обозначает шестнадцатеричный шестнадцатеричный код UCS-2 для символа.Допускает значение NULL. Возвращает значение NULL, если в событии нет дополнительных сведений. |
nvarchar(4000) | No |
| file_name | Путь и имя файла журнала аудита, из который была получена запись. | varchar(260) | Да |
| audit_file_offset |
Область применения: только SQL Server Смещение буфера в файле, содержащее запись аудита. |
bigint | No |
| user_defined_event_id |
Область применения: SQL Server 2012 (11.x) и более поздних версий, База данных SQL Azure и Управляемый экземпляр SQL Определяемый пользователем идентификатор события, переданный в качестве аргумента sp_audit_writeNULL для системных событий (по умолчанию) и ненулевого значения для определяемого пользователем события. Дополнительные сведения см. в разделе sp_audit_write (Transact-SQL). |
smallint | No |
| user_defined_information |
Область применения: SQL Server 2012 (11.x) и более поздних версий, База данных SQL Azure и Управляемый экземпляр SQL Используется для записи дополнительных сведений, которые пользователь хочет записать в журнал аудита с помощью хранимой sp_audit_write процедуры. |
nvarchar(4000) | No |
| audit_schema_version | Всегда 1 | int | Да |
| sequence_group_id |
Область применения: только SQL Server Уникальный идентификатор |
varbinary(85) | No |
| transaction_id |
Применимо только к SQL Server (начиная с 2016 г.) Уникальный идентификатор для идентификации нескольких событий аудита в одной транзакции |
bigint | No |
| client_ip |
Область применения: База данных SQL Azure и SQL Server (начиная с 2017 г.) Исходный IP-адрес клиентского приложения |
nvarchar(128) | No |
| application_name |
Область применения: База данных SQL Azure и SQL Server (начиная с 2017 г.) Имя клиентского приложения, выполнившего инструкцию, вызвавшей событие аудита. |
nvarchar(128) | No |
| duration_milliseconds |
Область применения: База данных SQL Azure и Управляемый экземпляр SQL Длительность выполнения запроса в миллисекундах |
bigint | No |
| response_rows |
Область применения: База данных SQL Azure и Управляемый экземпляр SQL Число строк, возвращаемых в результирующем наборе. |
bigint | No |
| affected_rows |
Область применения: только база данных SQL Azure Количество строк, затронутых инструкцией. |
bigint | No |
| connection_id |
Область применения: База данных SQL Azure и Управляемый экземпляр SQL Идентификатор подключения на сервере |
GUID | No |
| data_sensitivity_information |
Область применения: только база данных SQL Azure Типы сведений и метки конфиденциальности, возвращаемые аудитом запроса на основе классифицированных столбцов в базе данных. Дополнительные сведения об обнаружении и классификации данных базы данных SQL Azure |
nvarchar(4000) | No |
| host_name | Имя узла подключения клиента | nvarchar(128) | No |
| session_context | Сведения о контексте сеанса для подключения | nvarchar(4000) | No |
| client_tls_version |
Область применения: SQL Server 2022 и более поздних версий Номер версии TLS, используемый подключением клиента |
int | No |
| client_tls_version_name |
Область применения: SQL Server 2022 и более поздних версий Имя версии TLS, используемое клиентским подключением |
nvarchar(128) | No |
| database_transaction_id | Идентификатор транзакции базы данных | bigint | No |
| ledger_start_sequence_number |
Область применения: SQL Server 2022 и более поздних версий Номер начальной последовательности реестра для операций реестра |
bigint | No |
| external_policy_permissions_checked | Разрешения внешней политики, которые были проверены во время операции | nvarchar(4000) | No |
Примечания
Некоторые действия не заполняют значение столбца, так как это может быть неприменимо для действия.
Аудит SQL Server хранит 4000 символов данных для полей символов в записи аудита. Если значения additional_information и инструкций , возвращаемые из действия аудита, возвращают более 4000 символов, столбец sequence_number используется для записи нескольких записей в отчет аудита для одного действия аудита для записи этих данных. Применяется следующая обработка.
Столбец инструкции делится на 4000 символов.
Аудит SQL Server записывается в качестве первой строки для записи аудита с частичными данными. Все другие поля повторяются в каждой строке.
Значение sequence_number увеличивается.
Этот процесс повторяется до тех пор, пока не будут записаны все данные.
Данные можно подключить, считывая строки последовательно с помощью значения sequence_number, а также столбцов event_Time, action_id и session_id столбцов для идентификации действия.
Связанный контент
- СОЗДАНИЕ АУДИТА СЕРВЕРА (Transact-SQL)
- ИЗМЕНИТЬ АУДИТ СЕРВЕРА (Transact-SQL)
- Удаление серверного аудита (Transact-SQL)
- СОЗДАТЬ СПЕЦИФИКАЦИЮ АУДИТА СЕРВЕРА (Transact-SQL)
- СПЕЦИФИКАЦИЯ ALTER SERVER AUDIT (Transact-SQL)
- СПЕЦИФИКАЦИЯ АУДИТА DROP SERVER (Transact-SQL)
- Создать спецификацию аудита базы данных (Transact-SQL)
- Изменение спецификации аудита базы данных (ALTER DATABASE AUDIT SPECIFICATION) в Transact-SQL
- СПЕЦИФИКАЦИЯ АУДИТА БАЗЫ ДАННЫХ DROP (Transact-SQL)
- Изменение Авторизации (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- спецификации аудита сервера (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)