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