Действия и группы действий подсистемы аудита SQL Server

Подсистема аудита SQL Server позволяет производить аудит групп событий или отдельных событий на уровне сервера или базы данных. Дополнительные сведения см. в разделе Подсистема аудита SQL Server (Database Engine).

Аудит SQL Server может содержать ноль или более элементов действий аудита. Эти элементы действий аудита могут быть как группами действий, например Server_Object_Change_Group, так и отдельными действиями, например операциями SELECT для таблицы.

ПримечаниеПримечание

Группа Server_Object_Change_Group включает операции CREATE, ALTER и DROP для любого серверного объекта (базы данных или конечной точки).

У операций аудита могут быть следующие категории действий.

  • Уровня сервера. Эти действия включают серверные операции, например изменения управления и операции входа и выхода из системы.

  • Уровень базы данных. Эти действия включают в себя операции языка обработки данных (DML) и языка DDL.

  • Уровня аудита. Эти действия включают в себя действия, происходящие во время аудита.

Некоторые действия, выполняемые в компонентах подсистемы аудита SQL Server, подлежат внутреннему аудиту; в этом случае действия аудита происходят автоматически, поскольку событие происходит в родительском объекте.

Следующие действия подлежат аудиту по своей природе.

  • Изменение состояния подсистемы аудита сервера (включение или отключение)

Это событие по своей природе не подлежат аудиту.

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

Все операции аудита отключаются при первоначальном создании.

Группы действий аудита уровня сервера

Группы действий аудита уровня сервера — это действия, похожие на классы событий аудита безопасности SQL Server. Дополнительные сведения см. в разделе Руководство по классам событий SQL Server.

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

Имя группы действий

Описание

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

Это событие появляется при изменении пароля для роли приложения. Эквивалентно Класс событий Audit App Role Change Password.

AUDIT_CHANGE_GROUP

Это событие возникает при создании, изменении или удалении любого аудита. Это событие возникает при создании, изменении или удалении спецификации любого аудита. Аудит любых изменений в аудите производится в этом аудите. Эквивалентно Класс событий Audit Change Audit.

BACKUP_RESTORE_GROUP

Это событие вызывается командой резервного копирования или восстановления. Эквивалентно Класс событий Audit Backup/Restore.

BROKER_LOGIN_GROUP

Это событие вызывается для составления отчета о сообщениях аудита, связанных с механизмом обеспечения безопасности транспорта компонента Service Broker. Эквивалентно Класс событий Audit Broker Login.

DATABASE_CHANGE_GROUP

Это событие вызывается при создании, изменении или удалении базы данных. Это событие возникает при создании, изменении или удалении любой базы данных. Эквивалентно Класс событий Audit Database Management.

DATABASE_LOGOUT_GROUP

Это событие возникает при выходе пользователя автономной базы данных из базы данных. Эквивалентно классу событий Audit Database Logout.

DATABASE_MIRRORING_LOGIN_GROUP

Это событие вызывается для составления отчета о сообщениях аудита, связанных с механизмом обеспечения безопасности транспорта зеркального отображения базы данных. Эквивалентно Класс событий Audit Database Mirroring Login.

DATABASE_OBJECT_ACCESS_GROUP

Это событие вызывается каждый раз при обращении к типам сообщений, сборкам и контрактам.

Это событие возникает при любом доступе к любой базе данных.

ПримечаниеПримечание

Это может привести к появлению большого количества записей аудита.

Эквивалентно Класс событий Audit Database Object Access.

DATABASE_OBJECT_CHANGE_GROUP

Это событие вызывается в тот момент, когда для объекта базы данных (например, для схемы) выполняется инструкция CREATE, ALTER или DROP. Это событие возникает при создании, изменении или удалении любого объекта базы данных.

ПримечаниеПримечание

Это приводит к очень большому количеству записей аудита.

Эквивалентно Класс событий Audit Database Object Management.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Это событие возникает при изменении владельца объекта в области базы данных. Это событие возникает при любом изменении владельца объекта в любой базе данных на сервере. Эквивалентно Класс событий Audit Database Object Take Ownership.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Это событие возникает в тот момент, когда для объекта базы данных (например, сборки или схемы) выполняется инструкция GRANT, REVOKE или DENY. Это событие возникает при любом изменении разрешения на объект для любой базы данных на сервере. Эквивалентно Класс событий Audit Database Object GDR.

DATABASE_OPERATION_GROUP

Это событие вызывается при выполнении различных операций в базе данных, например при создании контрольной точки или уведомлении о запросе подписки. Это событие возникает при любой операции с базой данных в любой базе данных. Эквивалентно Класс событий Audit Database Operation.

DATABASE_OWNERSHIP_CHANGE_GROUP

Это событие вызывается при смене владельца базы данных инструкцией ALTER AUTHORIZATION в момент проверки разрешений на эту операцию. Это событие возникает при любом изменении владельца базы данных в любой базе данных на сервере. Эквивалентно Класс событий Audit Change Database Owner.

DATABASE_PERMISSION_CHANGE_GROUP

Это событие возникает в случае, когда инструкции GRANT, REVOKE или DENY выдаются для разрешения на выполнение инструкции любым участником SQL Server (применяется только к событиям базы данных, например предоставлению разрешений на базу данных).

Это событие возникает при любом изменении разрешения базы данных (GDR) для любой базы данных на сервере. Эквивалентно Класс событий Audit Database Scope GDR.

DATABASE_PRINCIPAL_CHANGE_GROUP

Это событие создается при создании, изменении или удалении из базы данных участников, таких как пользователи. Эквивалентно Класс событий Audit Database Principal Management. (Также эквивалентно классу событий подсистемы аудита «Add DB Principal», вызываемому устаревшими хранимыми процедурами sp_grantdbaccess, sp_revokedbaccess, sp_addPrincipal и sp_dropPrincipal.)

Это событие возникает при создании или удалении роли базы данных с помощью хранимых процедур sp_addrole и sp_droprole. Это событие возникает при создании, изменении или удалении любых участников базы данных из любой базы данных. Эквивалентно Класс событий Audit Add Role.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Это событие возникает при использовании в области базы данных операции олицетворения, например EXECUTE AS <principal> или SETPRINCIPAL. Это событие возникает при использовании олицетворения в любой базе данных. Эквивалентно Класс событий Audit Database Principal Impersonation.

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Это событие вызывается каждый раз, когда имя входа добавляется в роль базы данных или удаляется из нее. Этот класс событий возникает для хранимых процедур sp_addrolemember,sp_changegroup и sp_droprolemember. Это событие появляется при изменении члена любой роли базы данных в любой базе данных. Эквивалентно Класс событий Audit Add Member to DB Role.

DBCC_GROUP

Это событие появляется при вызове участником любой команды DBCC. Эквивалентно Класс событий Audit DBCC.

FAILED_DATABASE_AUTHENTICATION_GROUP

Указывает, что попытка участника войти в автономную базу данных завершилась ошибкой. События этого класса вызываются новыми соединениями или соединениями, которые многократно используются в пуле соединений. Эквивалентно Класс событий Audit Login Failed.

FAILED_LOGIN_GROUP

Указывает, что участник выполнил попытку входа в SQL Server, которая завершилась неудачно. События этого класса вызываются новыми соединениями или соединениями, которые многократно используются в пуле соединений. Эквивалентно Класс событий Audit Login Failed.

FULLTEXT_GROUP

Указывает, что произошло полнотекстовое событие. Эквивалентно Класс событий Audit Fulltext.

LOGIN_CHANGE_PASSWORD_GROUP

Это событие появляется при изменении пароля входа с помощью инструкции ALTER LOGIN или хранимой процедуры sp_password. Эквивалентно Класс событий Audit Login Change Password.

LOGOUT_GROUP

Указывает, что участник отключился от SQL Server. События этого класса вызываются новыми соединениями или соединениями, которые многократно используются в пуле соединений. Эквивалентно Класс событий Audit Logout.

SCHEMA_OBJECT_ACCESS_GROUP

Это событие возникает при применении разрешения на объект в схеме. Эквивалентно Класс событий Audit Schema Object Access.

SCHEMA_OBJECT_CHANGE_GROUP

Это событие вызывается в момент выполнения для схемы операции CREATE, ALTER или DROP. Эквивалентно Класс событий Audit Schema Object Management.

Это событие вызывается для объектов схемы. Эквивалентно Класс событий Audit Object Derived Permission.

Это событие возникает при изменении любой схемы любой базы данных. Эквивалентно Класс событий Audit Statement Permission.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Это событие возникает при проверке разрешений на смену владельца объекта схемы (таблицы, процедуры, функции и т. д.). Возникает, когда объекту назначается владелец при помощи инструкции ALTER AUTHORIZATION. Это событие возникает при любом изменении владельца схемы в любой базе данных на сервере. Эквивалентно Класс событий Audit Schema Object Take Ownership.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Это событие возникает при выполнении инструкции GRANT, REVOKE или DENY для объекта схемы. Эквивалентно Класс событий Audit Schema Object GDR.

SERVER_OBJECT_CHANGE_GROUP

Это событие возникает при выполнении операций CREATE, ALTER или DROP с объектами сервера. Эквивалентно Класс событий Audit Server Object Management.

SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP

Это событие возникает при изменении владельца объектов в области сервера. Эквивалентно Класс событий Audit Server Object Take Ownership.

SERVER_OBJECT_PERMISSION_CHANGE_GROUP

Это событие возникает в случае, когда инструкции GRANT, REVOKE или DENY выдаются для разрешений на объекты сервера любым участником SQL Server. Эквивалентно Класс событий Audit Server Object GDR.

SERVER_OPERATION_GROUP

Это событие возникает при использовании таких операций аудита безопасности, как изменение параметров, ресурсов, внешнего доступа или авторизации. Эквивалентно Класс событий Audit Server Operation.

SERVER_PERMISSION_CHANGE_GROUP

Это событие возникает в случае, когда инструкции GRANT, REVOKE или DENY выдаются для разрешений в области действия сервера, например для создания имени входа. Эквивалентно Класс событий Audit Server Scope GDR.

SERVER_PRINCIPAL_CHANGE_GROUP

Это событие возникает при создании, изменении и удалении участников на уровне сервера. Эквивалентно Класс событий Audit Server Principal Management.

Это событие возникает при вызове участником хранимых процедур sp_defaultdb, sp_defaultlanguage или инструкций ALTER LOGIN. Эквивалентно Класс событий Audit Addlogin.

Этот класс событий возникает для хранимых процедур sp_addlogin и sp_droplogin. Также эквивалентно Класс событий Audit Login Change Property.

Этот класс событий возникает для хранимых процедур sp_grantlogin, sp_revokelogin или sp_denylogin. Эквивалентно Класс событий Audit Login GDR.

SERVER_PRINCIPAL_IMPERSONATION_GROUP

Это событие возникает при использовании в области действия сервера олицетворения, например команды EXECUTE AS <login>. Эквивалентно Класс событий Audit Server Principal Impersonation.

SERVER_ROLE_MEMBER_CHANGE_GROUP

Это событие появляется при добавлении или удалении имени входа из предопределенной роли сервера. Этот класс событий возникает для хранимых процедур sp_addsrvrolemember и sp_dropsrvrolemember. Эквивалентно Класс событий Audit Add Login to Server Role.

SERVER_STATE_CHANGE_GROUP

Это событие возникает при изменении состояния службы SQL Server. Эквивалентно Класс событий Audit Server Starts and Stops.

SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP

Указывает, что участник успешно выполнил вход в автономную базу данных. Эквивалентно классу событий Audit Successful Database Authentication.

SUCCESSFUL_LOGIN_GROUP

Указывает, что участник успешно выполнил вход на SQL Server. События этого класса вызываются новыми соединениями или соединениями, которые многократно используются в пуле соединений. Эквивалентно Класс событий Audit Login.

TRACE_CHANGE_GROUP

Это событие вызывается для всех инструкций, выполняющих проверку на разрешение ALTER TRACE. Эквивалентно Класс событий Audit Server Alter Trace.

USER_CHANGE_PASSWORD_GROUP

Это событие возникает при изменении пароля пользователя автономной базы данных с помощью инструкции ALTER USER.

USER_DEFINED_AUDIT_GROUP

Эта группа наблюдает за событиями, вызываемые с помощью процедуры sp_audit_write (Transact-SQL). Как правило, триггеры или хранимые процедуры включают вызовы процедуры sp_audit_write для включения аудита важных событий.

Замечания

Группы действий уровня сервера охватывают действия, происходящие на всем экземпляре SQL Server. Например, если соответствующая группа будет возвращена в спецификацию аудита сервера, то будет производиться запись любой проверки доступа к объекту схемы в любой базе данных. В спецификации аудита базы данных производится запись доступа только к объектам схемы этой базе данных.

Действия уровня сервера не позволяют проводить подробную фильтрацию действий уровня базы данных. Для точной фильтрации действий необходим аудит уровня базы данных, например аудит действий SELECT в таблице Customers, производимых от лица имен входа в группе Employee. Не включайте объекты области сервера, такие как системные представления, в пользовательскую спецификацию аудита базы данных.

Группы действий аудита уровня базы данных

Группы действий аудита уровня базы данных — это действия, похожие на классы событий аудита безопасности SQL Server. Дополнительные сведения о классах событий см. в разделе Руководство по классам событий SQL Server.

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

Имя группы действий

Описание

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

Это событие появляется при изменении пароля для роли приложения. Эквивалентно Класс событий Audit App Role Change Password.

AUDIT_CHANGE_GROUP

Это событие возникает при создании, изменении или удалении любого аудита. Это событие возникает при создании, изменении или удалении спецификации любого аудита. Аудит любых изменений в аудите производится в этом аудите. Эквивалентно Класс событий Audit Change Audit.

BACKUP_RESTORE_GROUP

Это событие вызывается командой резервного копирования или восстановления. Эквивалентно Класс событий Audit Backup/Restore.

DATABASE_CHANGE_GROUP

Это событие вызывается при создании, изменении или удалении базы данных. Эквивалентно Класс событий Audit Database Management.

DATABASE_LOGOUT_GROUP

Это событие возникает при выходе пользователя автономной базы данных из базы данных. Эквивалентно Класс событий Audit Backup/Restore.

DATABASE_OBJECT_ACCESS_GROUP

Это событие вызывается каждый раз, когда производится доступ к сертификатам, асимметричным ключам и другим объектам базы данных. Эквивалентно Класс событий Audit Database Object Access.

DATABASE_OBJECT_CHANGE_GROUP

Это событие вызывается в тот момент, когда для объекта базы данных (например, для схемы) выполняется инструкция CREATE, ALTER или DROP. Эквивалентно Класс событий Audit Database Object Management.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Это событие возникает при изменении владельца объектов в области базы данных. Эквивалентно Класс событий Audit Database Object Take Ownership.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Это событие возникает в тот момент, когда для объекта базы данных (например, сборки или схемы) выполняется инструкция GRANT, REVOKE или DENY. Эквивалентно Класс событий Audit Database Object GDR.

DATABASE_OPERATION_GROUP

Это событие вызывается при выполнении различных операций в базе данных, например при создании контрольной точки или уведомлении о запросе подписки. Эквивалентно Класс событий Audit Database Operation.

DATABASE_OWNERSHIP_CHANGE_GROUP

Это событие вызывается при смене владельца базы данных инструкцией ALTER AUTHORIZATION в момент проверки разрешений на эту операцию. Эквивалентно Класс событий Audit Change Database Owner.

DATABASE_PERMISSION_CHANGE_GROUP

Это событие возникает в случае, когда инструкции GRANT, REVOKE или DENY выдаются для разрешения на выполнение инструкции любым пользователем SQL Server (применяется только к событиям базы данных, например предоставлению разрешений на базу данных). Эквивалентно Класс событий Audit Database Scope GDR.

DATABASE_PRINCIPAL_CHANGE_GROUP

Это событие создается при создании, изменении или удалении из базы данных участников, таких как пользователи. Эквивалентно Класс событий Audit Database Principal Management. Также эквивалентно классу событий Класс событий Audit Add DB User, которые происходят для устаревших хранимых процедур sp_grantdbaccess, sp_revokedbaccess, sp_adduser и sp_dropuser.

Это событие возникает при создании или удалении роли базы данных с помощью устаревших хранимых процедур sp_addrole и sp_droprole. Эквивалентно Класс событий Audit Add Role.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Это событие возникает при использовании в области базы данных олицетворения, например команды EXECUTE AS <user> или SETUSER. Эквивалентно Класс событий Audit Database Principal Impersonation.

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Это событие вызывается каждый раз, когда имя входа добавляется в роль базы данных или удаляется из нее. Этот класс событий используется с хранимыми процедурами sp_addrolemember, sp_changegroup и sp_droprolemember. Эквивалентно Класс событий Audit Add Member to DB Role.

DBCC_GROUP

Это событие появляется при вызове участником любой команды DBCC. Эквивалентно Класс событий Audit DBCC.

FAILED_DATABASE_AUTHENTICATION_GROUP

Указывает, что попытка участника войти в автономную базу данных завершилась ошибкой. События этого класса вызываются новыми соединениями или соединениями, которые многократно используются в пуле соединений. Вызывается событие.

SCHEMA_OBJECT_ACCESS_GROUP

Это событие возникает при применении разрешения на объект в схеме. Эквивалентно Класс событий Audit Schema Object Access.

SCHEMA_OBJECT_CHANGE_GROUP

Это событие вызывается в момент выполнения для схемы операции CREATE, ALTER или DROP. Эквивалентно Класс событий Audit Schema Object Management.

Это событие вызывается для объектов схемы. Эквивалентно Класс событий Audit Object Derived Permission. Также эквивалентно Класс событий Audit Statement Permission.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Это событие возникает при проверке разрешений на смену владельца объекта схемы (таблицы, процедуры, функции и т. д.). Возникает, когда объекту назначается владелец при помощи инструкции ALTER AUTHORIZATION. Эквивалентно Класс событий Audit Schema Object Take Ownership.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Это событие возникает при вызове инструкции GRANT, REVOKE или DENY для объекта схемы. Эквивалентно Класс событий Audit Schema Object GDR.

SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP

Указывает, что участник успешно выполнил вход в автономную базу данных. Эквивалентно классу событий Audit Successful Database Authentication.

USER_CHANGE_PASSWORD_GROUP

Это событие возникает при изменении пароля пользователя автономной базы данных с помощью инструкции ALTER USER.

USER_DEFINED_AUDIT_GROUP

Эта группа наблюдает за событиями, вызываемые с помощью процедуры sp_audit_write (Transact-SQL).

Действия аудита уровня базы данных

Действия аудита уровня базы данных поддерживают аудит напрямую в базе данных, схеме или в объектах схемы, например в таблицах, представлениях, хранимых процедурах, функциях, расширенных хранимых процедурах, очередях, синонимах. Не подлежат аудиту типы, коллекции схем XML, база данных и схема. Аудит объектов схемы можно настроить для схемы и базы данных. Это означает, что будет выполнен аудит событий всех объектов схемы, содержащихся в указанной схеме или базе данных. В следующей таблице описываются действия аудита уровня базы данных.

Действие

Описание

SELECT

Это событие возникает при вызове инструкции SELECT.

UPDATE

Это событие возникает при вызове инструкции UPDATE.

INSERT

Это событие возникает при вызове инструкции INSERT.

DELETE

Это событие возникает при вызове инструкции DELETE.

EXECUTE

Это событие возникает при вызове инструкции EXECUTE.

RECEIVE

Это событие возникает при вызове инструкции RECEIVE.

REFERENCES

Это событие возникает при проверке разрешения REFERENCES.

Замечания

Действия аудита уровня базы данных не применяются к столбцам.

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

Группы действий аудита уровня аудита

Также можно производить аудит действий, происходящих во время аудита. Это можно осуществлять как в области сервера, так и в области базы данных. В области базы данных это справедливо только для спецификаций аудита базы данных. В следующей таблице описываются группы действий аудита уровня аудита.

Имя группы действий

Описание

AUDIT_ CHANGE_GROUP

Это событие возникает при вызове одной из следующих команд:

  • CREATE SERVER AUDIT

  • ALTER SERVER AUDIT

  • DROP SERVER AUDIT

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

См. также

Создание аудита сервера и спецификации аудита сервера

Создание спецификация аудита для сервера и базы данных

CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (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_specification (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)