SQL Server Audit (moteur de base de données)SQL Server Audit (Database Engine)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

L'audit d'une instance de Moteur de base de données SQL ServerSQL Server Database Engine ou d'une base de données individuelle implique le suivi et la journalisation des événements qui se produisent sur le Moteur de base de donnéesDatabase Engine.Auditing an instance of the Moteur de base de données SQL ServerSQL Server Database Engine or an individual database involves tracking and logging events that occur on the Moteur de base de donnéesDatabase Engine. L'auditSQL ServerSQL Server vous permet de créer des audits de serveur, qui peuvent contenir des spécifications d'audit de serveur pour les événements de niveau serveur, ainsi que des spécifications d'audit de base de données pour les événements de niveau base de données.SQL ServerSQL Server audit lets you create server audits, which can contain server audit specifications for server level events, and database audit specifications for database level events. Les événements audités peuvent être écrits dans des journaux d'événements ou des fichiers d'audit.Audited events can be written to the event logs or to audit files.

Important

Sur Azure SQL Database Managed Instance, cette fonctionnalité T-SQL présente des changements de comportement.On Azure SQL Database Managed Instance, this T-SQL feature has certain behavior changes. Pour plus d’informations sur tous les changements de comportement de T-SQL, consultez Différences T-SQL entre Azure SQL Database Managed Instance et SQL Server.See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details for all T-SQL behavior changes.

Il existe plusieurs niveaux d'audit pour SQL ServerSQL Server, selon les spécifications de normes pour votre installation.There are several levels of auditing for SQL ServerSQL Server, depending on government or standards requirements for your installation. SQL ServerSQL Server Audit fournit les outils et processus nécessaires pour activer, stocker et afficher les audits sur différents objets de serveur et de base de données.Audit provides the tools and processes you must have to enable, store, and view audits on various server and database objects.

Vous pouvez enregistrer des groupes d'actions d'audit du serveur par instance, et des groupes d'actions d'audit de base de données ou des actions d'audit de base de données par base de données.You can record server audit action groups per-instance, and either database audit action groups or database audit actions per database. L'événement d'audit se produit chaque fois que l'action pouvant être auditée est rencontrée.The audit event will occur every time that the auditable action is encountered.

Toutes les éditions de SQL ServerSQL Server prennent en charge les audits de niveau serveur.All editions of SQL ServerSQL Server support server level audits. Toutes les éditions prennent en charge les audits de niveau base de données à partir de la version SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1.All editions support database level audits beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1. Avant cette version, les audits de niveau base de données sont limités aux éditions Enterprise, Developer et Evaluation.Prior to that, database level auditing was limited to Enterprise, Developer, and Evaluation editions. Pour plus d’informations, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2016.For more information, see Features Supported by the Editions of SQL Server 2016.

Notes

Cette rubrique s’applique à SQL ServerSQL Server.This topic applies to SQL ServerSQL Server. Pour SQL DatabaseSQL Database, voir Prise en main de l’audit de base de données SQL.For SQL DatabaseSQL Database, see Get started with SQL database auditing.

Composants de SQL Server AuditSQL Server Audit Components

Un audit correspond à la combinaison de plusieurs éléments au sein d'un package unique pour un groupe spécifique d'actions de serveur ou d'actions de base de données.An audit is the combination of several elements into a single package for a specific group of server actions or database actions. Les composants d'audit de SQL ServerSQL Server se combinent de façon à produire une sortie appelée audit, tout comme une définition de rapport combinée à des graphiques et des éléments de données produit un rapport.The components of SQL ServerSQL Server audit combine to produce an output that is called an audit, just as a report definition combined with graphics and data elements produces a report.

L’audit deSQL ServerSQL Server utilise des événements étendus pour aider à créer un audit.SQL ServerSQL Server audit uses Extended Events to help create an audit. Pour plus d'informations sur les événements étendus, consultez événements étendus.For more information about Extended Events, see Extended Events.

SQL Server AuditSQL Server Audit

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.The SQL Server Audit object collects a single instance of server or database-level actions and groups of actions to monitor. L'audit s'effectue au niveau de l'instance SQL ServerSQL Server .The audit is at the SQL ServerSQL Server instance level. Vous pouvez exécuter plusieurs audits par instance SQL ServerSQL Server .You can have multiple audits per SQL ServerSQL Server instance.

Lorsque vous définissez un audit, vous spécifiez l'emplacement de sortie des résultats.When you define an audit, you specify the location for the output of the results. Il s'agit de la destination de l'audit.This is the audit destination. L'audit est créé dans un état désactivé et ne s'exécute pas automatiquement pour contrôler les actions.The audit is created in a disabled state, and does not automatically audit any actions. Les données d'audit sont transmises vers la destination de l'audit lorsque ce dernier est activé.After the audit is enabled, the audit destination receives data from the audit.

Spécification de l'audit du serveurServer Audit Specification

L'objet Spécification de l'audit du serveur appartient à un audit.The Server Audit Specification object belongs to an audit. Vous pouvez créer une spécification d'audit de serveur par audit, car tous deux sont créés au niveau de la portée de l'instance SQL ServerSQL Server .You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope.

La spécification de l'audit du serveur recueille de nombreux groupes d'actions au niveau du serveur déclenchées par la fonctionnalité Événements étendus.The server audit specification collects many server-level action groups raised by the Extended Events feature. Vous pouvez inclure des groupes d'actions d'audit dans une spécification de l'audit du serveur.You can include audit action groups in a server audit specification. Les groupes d'actions d'audit constituent des groupes d'actions prédéfinis, qui sont les événements atomiques qui se produisent dans le Moteur de base de donnéesDatabase Engine.Audit action groups are predefined groups of actions, which are atomic events occurring in the Moteur de base de donnéesDatabase Engine. Ces actions sont envoyées à l'audit, qui les enregistre dans la cible.These actions are sent to the audit, which records them in the target.

Les groupes d’actions d’audit au niveau du serveur sont décrits dans la rubrique Actions et groupes d’actions SQL Server Audit.Server-level audit action groups are described in the topic SQL Server Audit Action Groups and Actions.

Spécification de l'audit de la base de donnéesDatabase Audit Specification

L'objet Spécification de l'audit de la base de données appartient également à un audit SQL ServerSQL Server .The Database Audit Specification object also belongs to a SQL ServerSQL Server audit. Vous pouvez créer une spécification de l'audit de la base de données par base de données SQL ServerSQL Server par audit.You can create one database audit specification per SQL ServerSQL Server database per audit.

La spécification de l'audit de la base de données recueille des actions d'audit au niveau de la base de données déclenchées par la fonctionnalité Événements étendus.The database audit specification collects database-level audit actions raised by the Extended Events feature. Vous pouvez ajouter des groupes d’actions d’audit ou des événements d’audit à une spécification de l’audit de la base de données.You can add either audit action groups or audit events to a database audit specification. Les événements d’audit sont les opérations atomiques qui peuvent être auditées par le moteur SQL ServerSQL Server .Audit events are the atomic actions that can be audited by the SQL ServerSQL Server engine. Lesgroupes d'actions d'audit sont des groupes d'actions prédéfinis.Audit action groups are predefined groups of actions. Tous deux sont à la portée de la base de données SQL ServerSQL Server .Both are at the SQL ServerSQL Server database scope. Ces actions sont envoyées à l'audit, qui les enregistre dans la cible.These actions are sent to the audit, which records them in the target. N'incluez pas d'objets dans l'étendue du serveur, tels que les vues système, dans une spécification d'audit de base de données utilisateur.Do not include server-scoped objects, such as the system views, in a user database audit specification.

Les actions d’audit et les groupes d’actions d’audit au niveau de la base de données sont décrits dans la rubrique Actions et groupes d’actions SQL Server Audit.Database-level audit action groups and audit actions are described in the topic SQL Server Audit Action Groups and Actions.

CibleTarget

Les résultats d'un audit sont envoyés à une cible, qui peut être un fichier, le journal des événements de sécurité de Windows ou le journal des événements d'applications de Windows.The results of an audit are sent to a target, which can be a file, the Windows Security event log, or the Windows Application event log. Les journaux doivent être examinés et archivés périodiquement afin de s'assurer que la cible dispose d'un espace suffisant pour écrire des enregistrements supplémentaires.Logs must be reviewed and archived periodically to make sure that the target has sufficient space to write additional records.

Important

Tout utilisateur authentifié peut lire et écrire dans le journal des événements d'applications de Windows.Any authenticated user can read and write to the Windows Application event log. Celui-ci requiert des autorisations inférieures au journal des événements de sécurité de Windows et il est moins sécurisé.The Application event log requires lower permissions than the Windows Security event log and is less secure than the Windows Security event log.

L'écriture dans le journal de sécurité de Windows requiert l'ajout du compte de service SQL ServerSQL Server à la stratégie Générer des audits de sécurité .Writing to the Windows Security log requires the SQL ServerSQL Server service account to be added to the Generate security audits policy. Par défaut, les comptes Système Local, Service local et Service réseau font partie de cette stratégie.By default, the Local System, Local Service, and Network Service are part of this policy. Ce paramètre peut être configuré à l'aide du composant logiciel enfichable de stratégie de sécurité (secpol.msc).This setting can be configured by using the security policy snap-in (secpol.msc). En outre, la stratégie de sécurité Auditer l'accès aux objets doit être activée pour Succès et Échec.Additionally, the Audit object access security policy must be enabled for both Success and Failure. Ce paramètre peut être configuré à l'aide du composant logiciel enfichable de stratégie de sécurité (secpol.msc).This setting can be configured by using the security policy snap-in (secpol.msc). Dans Windows VistaWindows Vista ou Windows Server 2008, vous pouvez définir une stratégie générée par une application plus précise à partir de la ligne de commande à l’aide du programme de stratégie d’audit (AuditPol.exe).In Windows VistaWindows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe). Pour plus d’informations sur les étapes permettant d’activer l’écriture dans le journal de sécurité de Windows, consultez Écrire des événements d’audit SQL Server dans le journal de sécurité.For more information about the steps to enable writing to the Windows Security log, see Write SQL Server Audit Events to the Security Log. Pour en savoir plus sur le programme Auditpol.exe, consultez l’article 921469 de la Base de connaissances : Comment faire pour utiliser la stratégie de groupe pour configurer des paramètres d'audit de sécurité détaillés.For more information about the Auditpol.exe program, see Knowledge Base article 921469, How to use Group Policy to configure detailed security auditing. Les journaux des événements de Windows sont communs à l'ensemble du système d'exploitation Windows.The Windows event logs are global to the Windows operating system. Pour plus d'informations sur les journaux des événements de Windows, consultez Vue d'ensemble de l'observateur d'événements.For more information about the Windows event logs, see Event Viewer Overview. Si vous avez besoin d'autorisations plus précises sur l'audit, utilisez la cible de fichier binaire.If you need more precise permissions on the audit, use the binary file target.

Lorsque vous enregistrez des informations d'audit dans un fichier, pour éviter toute falsification, vous pouvez limiter l'accès à l'emplacement du fichier des façons suivantes :When you are saving audit information to a file, to help prevent tampering, you can restrict access to the file location in the following ways:

  • Le compte de service SQL ServerSQL Server doit posséder des autorisations d'accès en lecture et en écriture.The SQL ServerSQL Server Service Account must have both Read and Write permission.

  • Les administrateurs d'audit ont généralement besoin des autorisations d'accès en lecture et en écriture.Audit Administrators typically require Read and Write permission. Cela suppose que ces administrateurs sont des comptes Windows pour l'administration des fichiers d'audit, par exemple leur copie sur des partages différents, leur sauvegarde, entre autres.This assumes that the Audit Administrators are Windows accounts for administration of audit files, such as: copying them to different shares, backing them up, and so on.

  • Les lecteurs d'audit qui sont autorisés à lire les fichiers d'audit doivent disposer de l'autorisation d'accès en lecture.Audit Readers that are authorized to read audit files must have Read permission.

Même lorsque le Moteur de base de donnéesDatabase Engine écrit dans un fichier, d'autres utilisateurs Windows peuvent lire le fichier d'audit s'ils en ont l'autorisation.Even when the Moteur de base de donnéesDatabase Engine is writing to a file, other Windows users can read the audit file if they have permission. Le Moteur de base de donnéesDatabase Engine n'applique pas de verrou exclusif qui empêche les opérations de lecture.The Moteur de base de donnéesDatabase Engine does not take an exclusive lock that prevents read operations.

Dans la mesure où le Moteur de base de donnéesDatabase Engine peut accéder au fichier, les connexions SQL ServerSQL Server qui possèdent l'autorisation CONTROL SERVER peuvent utiliser le Moteur de base de donnéesDatabase Engine pour accéder aux fichiers d'audit.Because the Moteur de base de donnéesDatabase Engine can access the file, SQL ServerSQL Server logins that have CONTROL SERVER permission can use the Moteur de base de donnéesDatabase Engine to access the audit files. Pour enregistrer tout utilisateur qui lit le fichier d'audit, définissez un audit sur master.sys.fn_get_audit_file.To record any user that is reading the audit file, define an audit on master.sys.fn_get_audit_file. Vous enregistrez ainsi les connexions avec l'autorisation CONTROL SERVER qui ont accédé au fichier d'audit par le biais de SQL ServerSQL Server.This records the logins with CONTROL SERVER permission that have accessed the audit file through SQL ServerSQL Server.

Si un administrateur d'audit copie le fichier à un autre emplacement (entre autres, à des fins d'archivage), les listes de contrôle d'accès du nouvel emplacement doivent disposer uniquement des autorisations suivantes :If an Audit Administrator copies the file to a different location (for archive purposes, and so on), the ACLs on the new location should be reduced to the following permissions:

  • Administrateur d’audit - Lecture/ÉcritureAudit Administrator - Read / Write

  • Lecteur d’audit - LectureAudit Reader - Read

Nous conseillons de générer des rapports d'audit à partir d'une instance distincte de SQL ServerSQL Server, telle une instance de SQL Server ExpressSQL Server Express, accessible uniquement aux administrateurs ou lecteurs d'audit.We recommend that you generate audit reports from a separate instance of SQL ServerSQL Server, such as an instance of SQL Server ExpressSQL Server Express, to which only Audit Administrators or Audit Readers have access. En utilisant une instance distincte du Moteur de base de donnéesDatabase Engine pour la création de rapports, vous pouvez mieux empêcher les utilisateurs non autorisés d'obtenir un accès à l'enregistrement d'audit.By using a separate instance of the Moteur de base de donnéesDatabase Engine for reporting, you can help prevent unauthorized users from obtaining access to the audit record.

Vous pouvez offrir une protection supplémentaire contre tout accès non autorisé en chiffrant le dossier dans lequel le fichier d'audit est stocké à l'aide du chiffrement de lecteur BitLocker Windows ou du système de fichiers EFS Windows.You can offer additional protection against unauthorized access by encrypting the folder in which the audit file is stored by using Windows BitLocker Drive Encryption or Windows Encrypting File System.

Pour plus d'informations sur les enregistrements d'audit qui sont écrits dans la cible, consultez SQL Server Audit Records.For more information about the audit records that are written to the target, see SQL Server Audit Records.

Vue d'ensemble de l'utilisation de SQL Server AuditOverview of Using SQL Server Audit

Vous pouvez utiliser SQL Server Management StudioSQL Server Management Studio ou Transact-SQLTransact-SQL pour définir un audit.You can use SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to define an audit. Une fois l'audit créé et activé, la cible reçoit des entrées.After the audit is created and enabled, the target will receive entries.

Vous pouvez lire les journaux des événements de Windows à l'aide de l'utilitaire Observateur d'événements de Windows.You can read the Windows event logs by using the Event Viewer utility in Windows. Si la cible est un fichier, vous pouvez utiliser la Visionneuse du fichier journal dans SQL Server Management StudioSQL Server Management Studio ou la fonction fn_get_audit_file pour lire le fichier journal.For file targets, you can use either the Log File Viewer in SQL Server Management StudioSQL Server Management Studio or the fn_get_audit_file function to read the target file.

Voici le processus général employé pour créer et utiliser un audit.The general process for creating and using an audit is as follows.

  1. Créez un audit et définissez la cible.Create an audit and define the target.

  2. Créez une spécification de l'audit du serveur ou une spécification de l'audit de la base de données mappée à l'audit.Create either a server audit specification or database audit specification that maps to the audit. Activez la spécification d'audit.Enable the audit specification.

  3. Activez l'audit.Enable the audit.

  4. Lisez les événements d’audit à l’aide de l’ Observateur d’événementsWindows, de la Visionneuse du fichier journalou de la fonction fn_get_audit_file.Read the audit events by using the Windows Event Viewer, Log File Viewer, or the fn_get_audit_file function.

Pour plus d'informations, consultez Créer un audit du serveur et une spécification d’audit du serveur et Créer une spécification de l’audit du serveur et de la base de données.For more information, see Create a Server Audit and Server Audit Specification and Create a Server Audit and Database Audit Specification.

ObservationsConsiderations

En cas d'échec pendant le lancement de l'audit, le serveur ne démarre pas.In the case of a failure during audit initiation, the server will not start. Dans ce cas, vous pouvez démarrer le serveur en saisissant l’option -f sur la ligne de commande.In this case, the server can be started by using the -f option at the command line.

Lorsqu'un échec de l'audit provoque l'arrêt ou empêche le démarrage du serveur car l'instruction ON_FAILURE=SHUTDOWN est spécifiée pour l'audit, l'événement MSG_AUDIT_FORCED_SHUTDOWN est écrit dans le journal.When an audit failure causes the server to shut down or not to start because ON_FAILURE=SHUTDOWN is specified for the audit, the MSG_AUDIT_FORCED_SHUTDOWN event will be written to the log. Étant donné que l'arrêt se produit lors de la première rencontre de ce paramètre, l'événement est écrit une seule fois.Because the shutdown will occur on the first encounter of this setting, the event will be written one time. Cet événement est écrit après le message d'échec d'audit qui provoque l'arrêt.This event is written after the failure message for the audit causing the shutdown. Un administrateur peut contourner les arrêts provoqués par l’audit en démarrant SQL ServerSQL Server en mode mono-utilisateur, à l’aide de l’indicateur -m.An administrator can bypass audit-induced shutdowns by starting SQL ServerSQL Server in Single User mode using the -m flag. Un démarrage en mode mono-utilisateur rétrograde les audits pour lesquels ON_FAILURE=SHUTDOWN est spécifié pour s'exécuter dans cette session comme ON_FAILURE=CONTINUE.If you start in Single User mode, you will downgrade any audit where ON_FAILURE=SHUTDOWN is specified to run in that session as ON_FAILURE=CONTINUE. Quand SQL ServerSQL Server est démarré à l’aide de l’indicateur -m, le message MSG_AUDIT_SHUTDOWN_BYPASSED est écrit dans le journal des erreurs.When SQL ServerSQL Server is started by using the -m flag, the MSG_AUDIT_SHUTDOWN_BYPASSED message will be written to the error log.

Pour plus d’informations sur les options de démarrage de service, consultez Options de démarrage du service moteur de base de données.For more information about service startup options, see Database Engine Service Startup Options.

Attachement d'une base de données avec un audit définiAttaching a Database with an Audit Defined

L'attachement d'une base de données qui a une spécification d'audit et spécifie un GUID qui n'existe pas sur le serveur génère une spécification d'audit orpheline .Attaching a database that has an audit specification and specifies a GUID that does not exist on the server will cause an orphaned audit specification. Étant donné qu'il n'existe pas d'audit avec un GUID correspondant sur l'instance de serveur, aucun événement d'audit n'est enregistré.Because an audit with a matching GUID does not exist on the server instance, no audit events will be recorded. Pour remédier à cette situation, utilisez la commande ALTER DATABASE AUDIT SPECIFICATION pour connecter la spécification d'audit orpheline à un audit du serveur existant.To correct this situation, use the ALTER DATABASE AUDIT SPECIFICATION command to connect the orphaned audit specification to an existing server audit. Ou utilisez la commande CREATE SERVER AUDIT pour créer un nouvel audit de serveur avec le GUID spécifié.Or, use the CREATE SERVER AUDIT command to create a new server audit with the specified GUID.

Vous pouvez attacher une base de données pour laquelle une spécification d'audit est définie à une autre édition de SQL ServerSQL Server qui ne prend pas en charge l'audit SQL ServerSQL Server , telle que SQL Server ExpressSQL Server Express , mais les événements d'audit ne seront pas enregistrés.You can attach a database that has an audit specification defined on it to another edition of SQL ServerSQL Server that does not support SQL ServerSQL Server audit, such as SQL Server ExpressSQL Server Express but it will not record audit events.

Mise en miroir de bases de données et SQL Server AuditDatabase Mirroring and SQL Server Audit

Une base de données qui possède une spécification d'audit définie et qui utilise la mise en miroir de bases de données inclut la spécification de l'audit de la base de données.A database that has a database audit specification defined and that uses database mirroring will include the database audit specification. Pour fonctionner correctement sur l'instance SQL en miroir, les éléments suivants doivent être configurés :To work correctly on the mirrored SQL instance, the following items must be configured:

  • Le serveur miroir doit avoir un audit avec le même GUID afin de permettre à la spécification de l'audit de la base de données d'écrire des enregistrements d'audit.The mirror server must have an audit with the same GUID to enable the database audit specification to write audit records. La commande CREATE AUDIT WITH GUID =<GUID_de_l’audit_de_serveur_source> permet d’obtenir cette configuration.This can be configured by using the command CREATE AUDIT WITH GUID =<GUID from source Server Audit>.

  • Si la cible est un fichier binaire, le compte de service de serveur miroir doit avoir des autorisations appropriées pour l'emplacement où le journal d'audit est écrit.For binary file targets, the mirror server service account must have appropriate permissions to the location where the audit trail is being written.

  • Si la cible est le journal des événements Windows, la stratégie de sécurité sur l'ordinateur où le serveur miroir se trouve doit autoriser l'accès du compte de service au journal des événements de sécurité ou des applications.For Windows event log targets, the security policy on the computer where the mirror server is located must allow for service account access to the security or application event log.

Administrateurs d'auditAuditing Administrators

Les membres du rôle serveur fixe sysadmin sont identifiés comme utilisateur dbo dans toutes les bases de données.Members of the sysadmin fixed server role are identified as the dbo user in each database. Pour auditer les actions des administrateurs, auditez les actions de l'utilisateur dbo .To audit actions of the administrators, audit the actions of the dbo user.

Création et gestion d'audits avec Transact-SQLCreating and Managing Audits with Transact-SQL

Vous pouvez utiliser des instructions DDL, des vues et fonctions de gestion dynamique et des affichages catalogue pour implémenter tous les aspects de SQL ServerSQL Server Audit.You can use DDL statements, dynamic management views and functions, and catalog views to implement all aspects of SQL ServerSQL Server Audit.

Instructions DDL (Data Definition Language)Data Definition Language Statements

Vous pouvez utiliser les instructions DDL suivantes pour créer, modifier et supprimer des spécifications d'audit :You can use the following DDL statements to create, alter, and drop audit specifications:

ALTER AUTHORIZATIONALTER AUTHORIZATION CREATE SERVER AUDITCREATE SERVER AUDIT
ALTER DATABASE AUDIT SPECIFICATIONALTER DATABASE AUDIT SPECIFICATION CREATE SERVER AUDIT SPECIFICATIONCREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDITALTER SERVER AUDIT DROP DATABASE AUDIT SPECIFICATIONDROP DATABASE AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATIONALTER SERVER AUDIT SPECIFICATION DROP SERVER AUDITDROP SERVER AUDIT
CREATE DATABASE AUDIT SPECIFICATIONCREATE DATABASE AUDIT SPECIFICATION DROP SERVER AUDIT SPECIFICATIONDROP SERVER AUDIT SPECIFICATION

Fonctions et vues dynamiquesDynamic Views and Functions

Le tableau suivant répertorie les vues et fonctions dynamiques que vous pouvez utiliser pour l'audit SQL ServerSQL Server .The following table lists the dynamic views and function that you can use for SQL ServerSQL Server Auditing.

Fonctions et vues dynamiquesDynamic views and functions DescriptionDescription
sys.dm_audit_actionssys.dm_audit_actions Retourne une ligne pour chaque action d'audit qui peut être signalée dans le journal d'audit et chaque groupe d'actions d'audit qui peut être configuré dans le cadre de SQL ServerSQL Server Audit.Returns a row for every audit action that can be reported in the audit log and every audit action group that can be configured as part of SQL ServerSQL Server Audit.
sys.dm_server_audit_statussys.dm_server_audit_status Fournit des informations sur l'état actuel de l'audit.Provides information about the current state of the audit.
sys.dm_audit_class_type_mapsys.dm_audit_class_type_map Retourne une table qui mappe le champ class_type dans le journal d'audit au champ class_desc dans sys.dm_audit_actions.Returns a table that maps the class_type field in the audit log to the class_desc field in sys.dm_audit_actions.
fn_get_audit_filefn_get_audit_file Retourne des informations à partir d'un fichier d'audit créé par un audit du serveur.Returns information from an audit file created by a server audit.

Affichages catalogueCatalog Views

Le tableau suivant répertorie les affichages catalogue que vous pouvez utiliser pour l'audit SQL ServerSQL Server .The following table lists the catalog views that you can use for SQL ServerSQL Server auditing.

Affichages catalogueCatalog views DescriptionDescription
sys.database_ audit_specificationssys.database_ audit_specifications Contient des informations sur les spécifications de l'audit de la base de données dans un audit SQL ServerSQL Server sur une instance de serveur.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.database_audit_specification_detailssys.database_audit_specification_details Contient des informations sur les spécifications de l’audit de la base de données dans un audit SQL ServerSQL Server sur une instance de serveur, pour toutes les bases de données.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance for all databases.
sys.server_auditssys.server_audits Contient une ligne pour chaque audit SQL ServerSQL Server dans une instance de serveur.Contains one row for each SQL ServerSQL Server audit in a server instance.
sys.server_audit_specificationssys.server_audit_specifications Contient des informations à propos des spécifications de l'audit du serveur dans un audit SQL ServerSQL Server sur une instance de serveur.Contains information about the server audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.server_audit_specifications_detailssys.server_audit_specifications_details Contient des informations sur les détails (actions) d’une spécification de l’audit du serveur dans un audit SQL ServerSQL Server sur une instance de serveur.Contains information about the server audit specification details (actions) in a SQL ServerSQL Server audit on a server instance.
sys.server_file_auditssys.server_file_audits Contient les informations détaillées des magasins à propos du type d'audit de fichier dans un audit SQL ServerSQL Server sur une instance de serveur.Contains stores extended information about the file audit type in a SQL ServerSQL Server audit on a server instance.

PermissionsPermissions

Chaque fonctionnalité et commande pour SQL ServerSQL Server Audit a des spécifications d'autorisation individuelles.Each feature and command for SQL ServerSQL Server Audit has individual permission requirements.

Pour créer, modifier ou supprimer un audit du serveur ou une spécification de l'audit du serveur, les principaux du serveur requièrent l'autorisation ALTER ANY SERVER AUDIT ou CONTROL SERVER.To create, alter, or drop a Server Audit or Server Audit Specification, server principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission. Pour créer, modifier ou supprimer une spécification de l'audit de la base de données, les principaux de la base de données requièrent l'autorisation ALTER ANY DATABASE AUDIT, ou l'autorisation ALTER ou CONTROL sur la base de données.To create, alter, or drop a Database Audit Specification, database principals require the ALTER ANY DATABASE AUDIT permission or the ALTER or CONTROL permission on the database. De plus, les principaux doivent soit avoir l'autorisation de se connecter à la base de données, soit disposer des autorisations ALTER ANY SERVER AUDIT ou CONTROL SERVER.In addition, principals must have permission to connect to the database, or ALTER ANY SERVER AUDIT or CONTROL SERVER permissions.

L’autorisation VIEW ANY DEFINITION fournit l’accès permettant d’afficher les vues d’audit au niveau du serveur ; l’autorisation VIEW DEFINITION fournit un accès permettant d’afficher les vues d’audit au niveau de la base de données.The VIEW ANY DEFINITION permission provides access to view the server level audit views and VIEW DEFINITION provides access to view the database level audit views. Si ces autorisations sont refusées, il n’est plus possible d’afficher les vues de catalogue, même si le principal dispose de l’autorisation ALTER ANY SERVER AUDIT ou ALTER ANY DATABASE AUDIT.Denial of these permissions, overrides the ability to view the catalog views, even if the principal has the ALTER ANY SERVER AUDIT or ALTER ANY DATABASE AUDIT permissions.

Pour plus d’informations sur l’octroi de droits et d’autorisations, consultez GRANT (Transact-SQL).For more information about how to grant rights and permissions, see GRANT (Transact-SQL).

Attention

Les principaux dans le rôle sysadmin peuvent falsifier tout composant d'audit et ceux dans le rôle db_owner peuvent falsifier les spécifications d'audit dans une base de données.Principals in the sysadmin role can tamper with any audit component and those in the db_owner role can tamper with audit specifications in a database. SQL ServerSQL Server Audit s'assure qu'une ouverture de session qui crée ou modifie une spécification d'audit possède au moins l'autorisation ALTER ANY DATABASE AUDIT.Audit will validate that a logon that creates or alters an audit specification has at least the ALTER ANY DATABASE AUDIT permission. Toutefois, aucune validation n'est effectuée lorsque vous attachez une base de données.However, it does no validation when you attach a database. Vous devez supposer que toutes les spécifications de l'audit de la base de données sont aussi dignes de confiance que les principaux dans le rôle sysadmin ou db_owner.You should assume all Database Audit Specifications are only as trustworthy as those principals in the sysadmin or db_owner role.

Créer un audit du serveur et une spécification d’audit du serveurCreate a Server Audit and Server Audit Specification

Créer une spécification de l’audit du serveur et de la base de donnéesCreate a Server Audit and Database Audit Specification

Afficher un journal d’audit SQL ServerView a SQL Server Audit Log

Écrire des événements d’audit SQL Server dans le journal de sécuritéWrite SQL Server Audit Events to the Security Log

Propriétés du serveur (page Sécurité)Server Properties (Security Page)
Explique comment activer l'audit de connexion pour SQL ServerSQL Server.Explains how to turn on login auditing for SQL ServerSQL Server. Les enregistrements d'audit sont stockés dans le journal des applications Windows.The audit records are stored in the Windows application log.

Mode d’audit C2 (option de configuration de serveur)c2 audit mode Server Configuration Option
Explique le mode d'audit de compatibilité de sécurité C2 dans SQL ServerSQL Server.Explains the C2 security compliance auditing mode in SQL ServerSQL Server.

Catégorie d’événements d’audit de sécurité (SQL Server Profiler)Security Audit Event Category (SQL Server Profiler)
Explique les événements d'audit que vous pouvez utiliser dans SQL Server ProfilerSQL Server Profiler.Explains the audit events you can use in SQL Server ProfilerSQL Server Profiler. Pour en savoir plus, voir SQL Server Profiler.For more information, see SQL Server Profiler.

Trace SQLSQL Trace
Explique comment utiliser Trace SQL à partir de vos propres applications pour créer des traces manuellement au lieu d’utiliser SQL ServerSQL Server Profiler.Explains how SQL Trace can be used from within your own applications to create traces manually, instead of using SQL ServerSQL Server Profiler.

Déclencheurs DDLDDL Triggers
Explique comment utiliser des déclencheurs DDL (Data Definition Language) pour effectuer le suivi des modifications de vos bases de données.Explains how you can use Data Definition Language (DDL) triggers to track changes to your databases.

Microsoft TechNet - TechCenter SQL Server : Sécurité et protection SQL Server 2005Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
Fournit des informations à jour sur la sécurité de SQL ServerSQL Server .Provides up-to-date information about SQL ServerSQL Server security.

 Voir aussiSee Also

Actions et groupes d’actions SQL Server Audit SQL Server Audit Action Groups and Actions
Enregistrements SQL Server AuditSQL Server Audit Records