Поделиться через


Создание аудита и работа с ним на Transact-SQL

Использование среды Management Studio или языка Transact-SQL для выполнения инструкций Transact-SQL языка описания данных DDL, динамических административных представлений и функций или представлений каталога позволяет создавать простые и комплексные решения подсистемы аудита SQL Server в среде SQL Server.

Справочные разделы

Для реализации всех аспектов подсистемы аудита SQL Server можно использовать инструкции DDL, представления каталогов и динамические административные представления и функции.

Разрешения

У каждой функции и команды подсистемы аудита SQL Server существуют индивидуальные требования к разрешениям.

Чтобы создать, изменить или удалить аудит сервера или спецификацию аудита сервера, участникам на уровне сервера требуется разрешение ALTER ANY SERVER AUDIT или CONTROL SERVER. Чтобы создать, изменить или удалить спецификацию аудита базы данных, участникам базы данных требуется разрешение ALTER ANY DATABASE AUDIT либо разрешение ALTER или CONTROL на эту базу данных. Кроме того, участникам необходимо разрешение на подключение к базе данных либо разрешение ALTER ANY SERVER AUDIT или CONTROL SERVER.

Если не указано обратное, для просмотра представлений каталога у участника должно быть следующее:

  • членство в предопределенной роли сервера sysadmin;

  • разрешение CONTROL SERVER;

  • разрешение VIEW SERVER STATE;

  • разрешение ALTER ANY AUDIT;

  • разрешение VIEW AUDIT STATE (предоставляет участнику только доступ к представлению каталога sys.server_audits).

Чтобы использовать динамические административные представления, участник должен обладать разрешениями VIEW SERVER STATE или ALTER ANY AUDIT.

Дополнительные сведения о предоставлении прав и разрешений см. в разделе GRANT (Transact-SQL).

ПредупреждениеВнимание!

Члены роли sysadmin могут изменять любой компонент аудита; члены роли db_owner могут изменять спецификации аудита в базе данных. Подсистема аудита SQL Server выполнит проверку наличия у имени входа, пытающегося выполнить создание или изменение спецификации аудита (хотя бы разрешения ALTER ANY DATABASE AUDIT). Однако при присоединении базы данных проверка не производится. Следует считать, что спецификации аудита базы данных настолько надежны, насколько надежны участники, имеющие роли sysadmin или db_owner.

Инструкции языка определения данных

Чтобы создать, изменить или удалить спецификацию аудита, можно использовать следующие инструкции DDL.

Динамические представления и функции

В следующей таблице перечисляются динамические представления и функции, которые можно использовать в подсистеме аудита SQL Server.

Динамические представления и функции

Описание

sys.dm_audit_actions

Возвращает строку для каждого действия аудита, которое может быть зарегистрировано в журнале аудита, и каждой группы действий аудита, которая может быть настроена в составе аудита SQL Server.

sys.dm_server_audit_status

Предоставляет сведения о текущем состоянии аудита.

sys.dm_audit_class_type_map

Возвращает таблицу, которая сопоставляет поле class_type в журнале аудита с полем class_desc в представлении sys.dm_audit_actions.

fn_get_audit_file

Возвращает сведения из файла аудита, созданного аудитом сервера.

Представления каталога

В следующей таблице перечисляются представления каталога, которые можно использовать в подсистеме аудита SQL Server.

Представления каталога

Описание

sys.database_ audit_specifications

Содержит сведения о спецификациях аудита базы данных в аудите SQL Server на экземпляре сервера.

sys.database_audit_specification_details

Содержит сведения о спецификациях аудита базы данных в аудите SQL Server на экземпляре сервера для всех баз данных.

sys.server_audits

Содержит по одной строке для каждого аудита SQL Server в экземпляре сервера.

sys.server_audit_specifications

Содержит сведения о спецификациях аудита сервера в подсистеме аудита SQL Server на экземпляре сервера.

sys.server_audit_specifications_details

Содержит данные о подробных сведениях (действиях) спецификации аудита сервера в аудите SQL Server экземпляра сервера.

sys.server_file_audits

Содержит расширенные сведения о типах аудита файлов в подсистеме аудита SQL Server на экземпляре сервера.