CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
Создает объект спецификации аудита базы данных с помощью компонента аудита SQL Server. Дополнительные сведения см. в разделе Основные сведения о подсистеме аудита SQL Server.
Синтаксис
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
См. также