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.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

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

Référence

Concepts