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


CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

Создает объект спецификации аудита базы данных с помощью компонента аудита SQL Server. Дополнительные сведения см. в разделе Основные сведения о подсистеме аудита SQL Server.

Значок ссылки на разделСоглашение о синтаксисе в Transact-SQL

Синтаксис

CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
    FOR SERVER AUDIT audit_name 
        [ { ADD ( { <audit_action_specification> | audit_action_group_name } ) 
      } [, ...n] ]
    [ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
      action [ ,...n ]ON [ class :: ] securable BY principal [ ,...n ]
}

Аргументы

  • audit_specification_name
    Имя спецификации аудита.

  • audit_name
    Имя аудита, к которому применяется эта спецификация.

  • audit_action_specification
    Спецификация действий, выполняемых участниками над защищаемыми объектами, которые должны быть зарегистрированы в ходе аудита.

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

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

  • class
    Имя класса защищаемого объекта (если применимо).

  • securable
    Таблица, представление или другой защищаемый объект в базе данных, к которой применяется действие аудита или группа действий аудита. Дополнительные сведения см. в разделе Защищаемые объекты.

  • principal
    Имя участника на уровне SQL Server, к которому применяется действие аудита или группа действий аудита. Дополнительные сведения см. в разделе Участники (компонент Database Engine).

  • WITH ( STATE = { ON | OFF } )
    Включает или отключает сбор записей для этой спецификации аудита.

Замечания

Спецификации аудита базы данных являются незащищаемыми объектами, которые находятся в определенной базе данных. После создания спецификация аудита базы данных находится в отключенном состоянии.

Сведения о спецификациях аудита базы данных в аудите SQL Server можно получить с помощью представления каталога sys.database_ audit_specifications.

Если спецификация аудита базы данных создается или изменяется в пользовательской базе данных, не включайте действия аудита для объектов области сервера, таких как системные представления. Если включаются объекты области сервера, аудит будет создан, однако объекты области сервера не будут включены и при этом не будет возвращаться ошибка. Для аудита объектов области сервера используйте спецификацию аудита базы данных в базе данных master.

Разрешения

Пользователи с разрешением ALTER ANY DATABASE AUDIT могут создавать спецификации аудита базы данных и привязывать их к любому аудиту.

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

Примеры

В следующем примере создается аудит сервера с именем Payrole_Security_Audit, а затем спецификация аудита базы данных с именем Payrole_Security_Audit, которая выполняет аудит инструкций SELECT и INSERT, выполняемых пользователем dbo, для таблицы HumanResources.EmployeePayHistory в базе данных AdventureWorks.

USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
    TO FILE ( FILEPATH = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit 
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks ;
GO
-- Create the database audit specification.
CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables
FOR SERVER AUDIT Payrole_Security_Audit
ADD (SELECT , INSERT
     ON HumanResources.EmployeePayHistory BY dbo )
WITH (STATE = ON) ;
GO

См. также

Справочник

Основные понятия