fn_get_audit_file (Transact-SQL)
Возвращает сведения из файла аудита, созданного аудитом сервера. Дополнительные сведения см. в разделе Основные сведения о подсистеме аудита SQL Server.
Синтаксис
fn_get_audit_file ( file_pattern, {default | initial_file_name | NULL }, {default | audit_file_offset | NULL } )
Аргументы
file_pattern
Указывает каталог или путь и имя файла для файла аудита, который предстоит прочитать. Этот аргумент должен содержать как путь (букву диска или сетевой ресурс), так и имя файла, которое может включать символ-шаблон. Одна звездочка (*) может быть использована для выбора нескольких файлов из набора файлов аудита. Например:<path>\* — собрать все файлы аудита в указанном месте;
<path>\LoginsAudit_{GUID} — собрать все файлы аудита с указанной парой «имя — идентификатор GUID»;
<path>\LoginsAudit_{GUID}_00_29384.sqlaudit — выбрать указанный файл аудита.
Примечание При передаче пути без имени файла сформируется ошибка.
initial_file_name
Указывает путь и имя файла для определенного файла в наборе файлов аудита, из которого предстоит начать чтение записей аудита.Примечание Аргумент initial_file_name должен содержать допустимые записи или иметь значение по умолчанию либо значение NULL.
audit_file_offset
Указывает известное местоположение с файлом, указанным для initial_file_name. Когда используется этот аргумент, функция начнет чтение с первой записи буфера, следующей немедленно после указанного смещения.Примечание Аргумент audit_file_offset должен содержать допустимые записи или иметь значение по умолчанию либо значение NULL.
Возвращаемые таблицы
В следующей таблице описано содержимое файла аудита, которое может возвращаться этой функцией.
Имя столбца |
Тип |
Описание |
---|---|---|
event_time |
datetime2 |
Дата и время срабатывания действия, доступного для аудита. Не допускает значение NULL. |
sequence_number |
int |
Отслеживает последовательность записей в одной записи аудита, слишком большой, чтобы поместиться в буфере записи для аудитов. Не допускает значение NULL. |
action_id |
char(4) |
Идентификатор действия. Не допускает значение NULL. |
succeeded |
bit 1 = успешное завершение; 0 = неуспешное завершение. |
Показывает, было ли успешным действие, запустившее событие. Не допускает значение NULL. Для всех событий, отличных от событий имени входа, при этом формируются только сообщения о том, была ли проверка разрешения выполнена успешно или окончилась неудачей, а не сообщения о самой операции. |
permission_bitmask |
bigint |
В некоторых действиях это предоставленные, запрещенные или отмененные разрешения. |
is_column_permission |
bit 1 = true; 0 = false. |
Флаг, обозначающий разрешение уровня столбца. Не допускает значение NULL. Возвращает 0, если permission_bitmask = 0. |
session_id |
int |
Идентификатор сеанса, во время которого произошло событие. Не допускает значение NULL. |
server_principal_id |
int |
Идентификатор контекста имени входа, в котором выполнено действие. Не допускает значения NULL. |
database_principal_id |
int |
Идентификатор контекста пользователя базы данных, в котором выполнено действие. Не допускает значения NULL. Поддерживает 0, если это неприменимо. Например, операция сервера. |
target_server_principal_id |
int |
Участник на уровне сервера, над которым выполняется операция GRANT/DENY/REVOKE. Не допускает значение NULL. Если неприменимо, возвращается значение 0. |
target_database_principal_id |
int |
Участник базы данных, над которым выполняется операция GRANT/DENY/REVOKE. Не допускает значение NULL. Если неприменимо, возвращается значение 0. |
object_id |
int |
Идентификатор сущности, над которой выполнен аудит. Это включает следующее.
Не допускает значение NULL. Возвращает 0, если сущностью является сам сервер или если аудит не выполняется на уровне объекта. Например, проверка подлинности. |
class_type |
char(2) |
Тип доступной для аудита сущности, для которой проводится аудит. Не допускает значение NULL. |
session_server_principal_name |
sysname |
Участник на уровне сервера для сеанса. Допускает значение NULL. |
server_principal_name |
sysname |
Текущее имя входа. Допускает значение NULL. |
server_principal_sid |
varbinary |
Идентификатор безопасности текущего имени входа. Допускает значение NULL. |
database_principal_name |
sysname |
Текущий пользователь. Допускает значение NULL. Возвращает значение NULL, если недоступно. |
target_server_principal_name |
sysname |
Целевое имя входа действия. Допускает значение NULL. Если неприменимо, возвращается значение NULL. |
target_server_principal_sid |
varbinary |
Идентификатор безопасности целевого имени входа. Допускает значение NULL. Если неприменимо, возвращается значение NULL. |
target_database_principal_name |
sysname |
Целевой пользователь действия. Допускает значение NULL. Если неприменимо, возвращается значение NULL. |
server_instance_name |
nvarchar(120) |
Имя экземпляра сервера, где проводился аудит. Используется стандартный формат «сервер\экземпляр». |
database_name |
sysname |
Контекст базы данных, в котором выполнялось действие. Допускает значение NULL. Возвращает значение NULL для аудитов, выполняемых на уровне сервера. |
schema_name |
sysname |
Контекст схемы, в котором выполнялось действие. Допускает значение NULL. Возвращает значение NULL для аудитов, выполняемых вне схемы. |
object_name |
sysname |
Имя сущности, для которой проводился аудит. Это включает следующее.
Допускает значение NULL. Возвращает NULL, если сущностью является сам сервер или если аудит не выполняется на уровне объекта. Например, проверка подлинности. |
statement |
nvarchar(4000) |
Инструкция TSQL (если существует) Допускает значение NULL. Если неприменимо, возвращается значение NULL. |
additional_information |
nvarchar(4000) |
Уникальные сведения, применимые только к одиночному событию, возвращаются в формате XML. Немногие действия, доступные для аудита, содержат сведения этого вида. Допускает значение NULL. Возвращает NULL, если событие не сообщает дополнительных сведений. |
file_name |
varchar(260) |
Путь и имя файла журнала аудита, из которого получена запись. Не допускает значение NULL. |
audit_file_offset |
bigint |
Смещение буфера в файле, который содержит запись аудита. Не допускает значение NULL. |
Замечания
Если аргумент file_pattern, переданный в функцию fn_get_audit_file, ссылается на несуществующий файл, несуществующий путь или файл, не являющийся файлом аудита, возвращается сообщение об ошибке MSG_INVALID_AUDIT_FILE.
Разрешения
Требуется разрешение CONTROL SERVER.
Примеры
В следующем примере выполняется чтение из файла, который имеет имя \\serverName\Audit\HIPPA_AUDIT.sqlaudit.
SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO
Полный пример создания аудита см. в разделе Основные сведения о подсистеме аудита SQL Server.
См. также