CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
Crée un objet Spécification de l'audit de la base de données à l'aide de la fonctionnalité SQL Server Audit. Pour plus d'informations, consultez Fonctionnement de SQL Server Audit.
Syntaxe
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 ]
}
Arguments
audit_specification_name
Nom de la spécification de l'audit.audit_name
Nom de l'audit auquel cette spécification est appliquée.audit_action_specification
Spécification des actions exécutées sur des éléments sécurisables par des entités de sécurité qui doivent être enregistrées dans l'audit.action
Nom d'une ou de plusieurs actions pouvant être auditées au niveau de la base de données. Pour obtenir une liste d'actions d'audit, consultez Actions et groupes d'actions SQL Server Audit.audit_action_group_name
Nom d'un ou de plusieurs groupes d'actions pouvant être auditées au niveau de la base de données. Pour obtenir une liste de groupes d'actions d'audit, consultez Actions et groupes d'actions SQL Server Audit.class
Nom de classe (le cas échéant) sur l'élément sécurisable.securable
Table, vue ou autre objet sécurisable dans la base de données sur lequel appliquer l'action d'audit ou le groupe d'actions d'audit. Pour plus d'informations, consultez Entités sécurisables.principal
Nom de l'entité de sécurité SQL Server sur laquelle appliquer l'action d'audit ou le groupe d'actions d'audit. Pour plus d'informations, consultez Entités de sécurité (moteur de base de données).WITH ( STATE = { ON | OFF } )
Autorise ou empêche l'audit de recueillir des enregistrements pour cette spécification d'audit.
Notes
Les spécifications d'audit de base de données sont des objets non sécurisables qui résident dans une base de données spécifiée. Lorsqu'une spécification de l'audit de la base de données est créée, elle est dans un état désactivé.
Pour plus d'informations sur les spécifications de l'audit de la base de données dans un audit SQL Server, utilisez l'affichage catalogue sys.database_ audit_specifications.
Lorsque vous créez ou modifiez une spécification de l'audit de la base de données dans une base de données utilisateur, n'incluez pas d'actions d'audit sur des objets dans l'étendue du serveur, tels que les vues système. Sinon, l'audit est créé. Toutefois, les objets dans l'étendue du serveur ne sont pas inclus, et aucune erreur n'est retournée. Pour auditer des objets dans l'étendue du serveur, utilisez une spécification de l'audit de la base de données dans la base de données MASTER.
Autorisations
Les utilisateurs disposant de l'autorisation ALTER ANY DATABASE AUDIT peuvent créer des spécifications de l'audit de la base de données et les lier à n'importe quel audit.
Une fois qu'une spécification d'audit de la base de données est créée, elle peut être affichée par des entités de sécurité disposant des autorisations CONTROL SERVER,ALTER ANY DATABASE AUDIT ou du compte sysadmin.
Exemples
L'exemple suivant crée un audit du serveur nommé Payrole_Security_Audit, puis une spécification d'audit de la base de données nommée Payrole_Security_Audit qui audite les instructions SELECT et INSERT par l'utilisateur dbo, pour la table HumanResources.EmployeePayHistory dans la base de données 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
Voir aussi