Partager via


Enregistrements SQL Server Audit

La fonctionnalité SQL Server Audit vous permet d'effectuer l'audit d'événements et de groupes d'événements au niveau du serveur et au niveau de la base de données. Pour plus d'informations, consultez SQL Server Audit (moteur de base de données). SQL Server.

Les audits sont constitués de zéro ou plusieurs éléments d'action d'audit, enregistrés dans une cible d'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

ConseilConseil

Pour permettre l'utilisation de action_id en tant que 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 = Succès, 0 = Échec

Oui

permission_bitmask

Le cas échéant, affiche les autorisations accordées, refusées ou révoquées.

bigint

Non

is_column_permission

Indicateur qui désigne une autorisation au niveau colonne

bit – 1 = Vrai, 0 = Faux

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

object_id

ID principal de l'entité sur laquelle l'audit s'est produit. Cela inclut :

  • les objets de serveur ;

  • les bases de données ;

  • les objets de base de données ;

  • les 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 de schéma dans lequel l'action s'est produite.

sysname

Non

object_name

Nom de l'entité sur laquelle l'audit s'est produit. Cela inclut :

  • les objets de serveur ;

  • les bases de données ;

  • objets de base de données

  • les objets de schéma ;

  • l'instruction TSQL (le cas échéant).

sysname

Non

statement

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 4000 caractères de données pour les champs de type caractère 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 4000 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. Le processus est le suivant :

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

  • SQL Server Audit écrit sur la première ligne de l'enregistrement d'audit 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 les colonnes event_Time, action_id et session_id pour identifier l'action.

Contenu connexe

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)