Share via


Créer une spécification de l'audit du serveur et de la base de données

Cette rubrique explique comment créer une spécification d’audit de serveur et d’audit de base de données dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL.

L'audit d'une instance de SQL Server ou d'une base de données SQL Server implique le suivi et l'enregistrement des événements qui se produisent sur le système. L’objet Audit SQL Server recueille une seule instance des actions et des groupes d’actions au niveau du serveur ou de la base de données à surveiller. L'audit s'effectue au niveau de l'instance SQL Server . Vous pouvez exécuter plusieurs audits par instance SQL Server . L’objet Spécification d’audit de niveau base de données appartient à un audit. Vous pouvez créer une spécification d'audit de base de données par base de données SQL Server et par audit. Pour plus d’informations, consultez Audit SQL Server (moteur de base de données).

Dans cette rubrique

Avant de commencer

Limitations et restrictions

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 d'audit de base de données est créée, elle se trouve dans un état désactivé.

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.

Les spécifications d'audit de base de données résident dans la base de données où elles sont créées, à l'exception de la base de données système tempdb.

Sécurité

Autorisations

  • Les utilisateurs disposant de l'autorisation ALTER ANY DATABASE AUDIT peuvent créer des spécifications d'audit de base de données et les lier à un audit quelconque.

  • Une fois qu’une spécification d’audit de base de données est créée, elle peut être consultée par les principaux avec les autorisations CONTROL SERVER, ALTER ANY DATABASE AUDIT ou le compte sysadmin.

Utilisation de SQL Server Management Studio

Pour créer un audit de serveur

  1. Dans l'Explorateur d'objets, développez le dossier Sécurité .

  2. Cliquez avec le bouton droit sur le dossier Audits et sélectionnez Nouvel audit.... Pour plus d’informations, consultez Créer un audit de serveur et une spécification d’audit de serveur.

  3. Lorsque vous avez fini de sélectionner les options, cliquez sur OK.

Pour créer une spécification d'audit de niveau base de données

  1. Dans l'Explorateur d'objets, développez la base de données dans laquelle vous souhaitez créer une spécification d'audit.

  2. Développez le dossier Sécurité .

  3. Cliquez avec le bouton droit sur le dossier Spécifications d’audit de la base de données et sélectionnez Nouvelle spécification d’audit de base de données....

    Les options suivantes sont disponibles dans la boîte de dialogue Créer la spécification de l'audit de la base de données .

    Nom
    Nom de la spécification de l'audit de la base de données. Le nom est généré automatiquement lorsque vous créez une spécification d'audit du serveur, mais vous pouvez le modifier.

    Audit
    Nom d'un audit de base de données existant. Tapez le nom de l'audit ou sélectionnez-le dans la liste.

    Type d'action de l'audit
    Spécifie les groupes d'actions d'audit de niveau base de données et les actions d'audit à capturer. Pour obtenir la liste d’actions d’audit et de groupes d’actions d’audit de niveau base de données, ainsi qu’une description des événements qu’ils contiennent, consultez Actions et groupes d’actions SQL Server Audit.

    Schéma d'objet
    Affiche le schéma du Nom de l’objetspécifié.

    Nom de l’objet
    Nom de l'objet à auditer. Disponible uniquement pour les actions d'audit ; ne s'applique pas aux groupes d'audit.

    Points de suspension (...)
    Ouvre la boîte de dialogue Sélectionner des objets permettant de rechercher et sélectionner un objet disponible, en fonction du Type d'action de l'auditspécifié.

    Nom principal
    Compte par lequel filtrer l'audit pour l'objet audité.

    Points de suspension (...)
    Ouvre la boîte de dialogue Sélectionner des objets permettant de rechercher et sélectionner un objet disponible, en fonction du Nom de l'objetspécifié.

  4. Lorsque vous avez fini de sélectionner l'option, cliquez sur OK.

Utilisation de Transact-SQL

Pour créer un audit de serveur

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_Security_Audit   
    WITH (STATE = ON) ;  
    

Pour créer une spécification d'audit de niveau base de données

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L'exemple crée une spécification d'audit de base de données appelée Audit_Pay_Tables qui audite les instructions SELECT et INSERT par l'utilisateur dbo , pour la table HumanResources.EmployeePayHistory en fonction de l'audit de serveur défini précédemment.

    USE AdventureWorks2012 ;   
    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  
    
    

Pour plus d’informations, consultez CREATE SERVER AUDIT (Transact-SQL) et CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).