Enregistrements SQL Server Audit

S’applique à :SQL Server

La fonctionnalité d’audit SQL Server vous permet d’auditer les groupes d’événements et d’événements au niveau du serveur et de base de données. Pour plus d’informations, consultez Audit SQL Server (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 cibled'audit. La cible d’audit peut être un fichier binaire, le journal des événements d’applications Windows ou le journal des événements de sécurité Windows. Les enregistrements envoyés à la cible peuvent contenir les éléments décrits dans le tableau suivant :

Nom de 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 en tant que prédicat, cette chaîne de caractères doit être convertie 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 la vérification des autorisations de l’action déclenchant l’événement d’audit a réussi ou échoué. 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 = 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. Cet ID peut être :

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. Ce nom peut être :

Des objets de serveur

databases

Objets de base de données

Des objets de schéma

Instruction Transact-SQL (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

Remarques

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. Voici le processus :

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

  • SQL Server Audit écrit en tant que 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)