Share via


SQL Server Audit Records

La fonctionnalité Audit SQL Server vous permet d’auditer des groupes d’événements et d’événements au niveau du serveur et au niveau de la base de données. Pour plus d’informations, consultez Audit SQL Server (moteur de base de données). Serveur SQL Server.

Les audits sont constitués de zéro ou plusieurs éléments d'action d'audit, enregistrés dans une cibled'audit. La cible d'audit peut être un fichier binaire, le journal des événements d'applications de Windows ou le journal des événements de sécurité de Windows. Les enregistrements envoyés à la cible peuvent contenir les éléments décrits dans le tableau suivant.

Nom de la colonne Description Type Toujours disponible
event_time Date/heure auxquelles l'action pouvant être auditée est déclenchée. datetime2 Oui
sequence_no Assure le suivi de la séquence d'enregistrements dans un enregistrement d'audit unique qui était trop grand pour la mémoire tampon d'écriture pour audits. int Oui
action_id ID de l’action

Conseil : Pour utiliser action_id comme prédicat, celui-ci doit être converti d’une chaîne de caractères en valeur numérique. Pour plus d’informations, consultez Filtrage de l’audit SQL Server sur le prédicat action_id/class_type.
varchar(4) Oui
succeeded Indique si l'action qui a déclenché l'événement a réussi. bit - 1 = Réussite, 0 = Échec Oui
permission_bitmask Si applicable, présente les autorisations qui ont été octroyées, refusées ou révoquées bigint Non
is_column_permission Indicateur qui désigne une autorisation au niveau colonne bit - 1 = True, 0 = False Non
session_id ID de la session au cours de laquelle l'événement s'est produit. int Oui
server_principal_id ID du contexte de connexion dans lequel l'action est effectuée. int Oui
database_principal_id ID du contexte de l'utilisateur de base de données dans lequel l'action est effectuée. int Non
ID object_ ID principal de l'entité sur laquelle l'audit s'est produit. notamment :

Des objets de serveur

databases

objets de base de données

Des objets de schéma
int Non
target_server_principal_id Principal du serveur auquel s'applique l'action pouvant être auditée. int Oui
target_database_principal_id Principal de la base de données auquel s'applique l'action pouvant être auditée. int Non
class_type Type d'entité pouvant être auditée sur laquelle l'audit se produit. varchar(2) Oui
session_server_principal_name Principal du serveur pour la session. sysname Oui
server_principal_name Connexion actuelle. sysname Oui
server_principal_sid SID de la connexion actuelle. varbinary Oui
database_principal_name Utilisateur actuel. sysname Non
target_server_principal_name Connexion cible de l'action. sysname Non
target_server_principal_sid SID de la connexion cible. varbinary Non
target_database_principal_name Utilisateur cible de l'action. sysname Non
server_instance_name Nom de l'instance de serveur où l'audit s'est produit. Utilise le format standard ordinateur\instance. nvarchar(120) Oui
database_name Contexte de base de données dans lequel l'action s'est produite. sysname Non
schema_name Contexte du schéma dans lequel l’action s’est produite. sysname Non
object_name Nom de l’entité sur laquelle l’audit s’est produit. notamment :

Des objets de serveur

databases

objets de base de données

Des objets de schéma

l'instruction TSQL (le cas échéant).
sysname Non
instruction l'instruction TSQL (le cas échéant). nvarchar(4000) Non
additional_information Toute information supplémentaire à propos de l'événement, stockée au format XML. nvarchar(4000) Non

Notes

Certaines actions ne remplissent pas la valeur d'une colonne car elles peuvent ne pas être applicables à l'action.

SQL Server Audit stocke 4 000 caractères de données pour les champs de caractères dans un enregistrement d’audit. Lorsque les valeurs additional_information et statement retournées à partir d’une action pouvant être auditée retournent plus de 4 000 caractères, la colonne sequence_no est utilisée pour écrire plusieurs enregistrements dans le rapport d’audit pour une action d’audit unique afin d’enregistrer ces données. Pour ce faire, procédez comme suit :

  • La colonne statement est divisée en 4000 caractères.

  • SQL Server Audit écrit comme première ligne de l’enregistrement d’audit avec les données partielles. Tous les autres champs sont dupliqués sur chaque ligne.

  • La valeur sequence_no est incrémentée.

  • Ce processus est répété jusqu'à ce que toutes les données soient enregistrées.

Vous pouvez connecter les données en lisant séquentiellement les lignes à l’aide de la valeur sequence_no et des colonnes event_Time, action_id et session_id pour identifier l’action.

CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sys.fn_get_audit_file (Transact-SQL)

sys.server_audits (Transact-SQL)

sys.server_file_audits (Transact-SQL)

sys.server_audit_specifications (Transact-SQL)

sys.server_audit_specification_details (Transact-SQL)

sys.database_audit_specifications (Transact-SQL)

sys.database_audit_specification_details (Transact-SQL)

sys.dm_server_audit_status (Transact-SQL)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)