sys.fn_get_audit_file (Transact-SQL)

Retourne des informations à partir d'un fichier d'audit créé par un audit du serveur. Pour plus d'informations, consultez SQL Server Audit (moteur de base de données).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

fn_get_audit_file ( file_pattern, 
    { default | initial_file_name | NULL }, 
    { default | audit_record_offset | NULL } )

Arguments

  • file_pattern
    Spécifie le répertoire ou chemin d'accès et nom de fichier du jeu de fichiers d'audit à lire. Le type est nvarchar(260). Cet argument doit inclure à la fois un chemin d'accès (lettre de lecteur ou partage réseau) et un nom de fichier qui peut inclure un caractère générique. Un astérisque unique (*) peut être utilisé pour recueillir plusieurs fichiers à partir d'un jeu de fichiers d'audit. Par exemple :

    • <chemin_d'accès>\* - Recueillir tous les fichiers d'audit à l'emplacement spécifié.

    • <chemin_d'accès>\LoginsAudit_{GUID} - Recueillir tous les fichiers de contrôle portant le nom et les paires spécifiés de GUID.

    • <chemin_d'accès>\LoginsAudit_{GUID}_00_29384.sqlaudit - Recueillir un fichier d'audit spécifique.

    [!REMARQUE]

    Le passage d'un chemin d'accès sans modèle de nom de fichier génère une erreur.

  • initial_file_name
    Spécifie le chemin d'accès et le nom d'un fichier spécifique dans le jeu de fichiers d'audit à partir duquel commencer à lire des enregistrements d'audit. Le type est nvarchar(260).

    [!REMARQUE]

    L'argument initial_file_name doit contenir des entrées valides ou doit contenir la valeur default | NULL.

  • audit_record_offset
    Spécifie un emplacement connu avec le fichier spécifié pour l'initial_file_name. Lorsque cet argument est utilisé, la fonction commence à lire au premier enregistrement de la mémoire tampon qui suit le décalage spécifié.

    [!REMARQUE]

    L'argument audit_record_offset doit contenir des entrées valides ou doit contenir la valeur default | NULL. Le type est bitint.

Tables retournées

Le tableau suivant décrit le contenu de fichier d'audit qui peut être retourné par cette fonction.

Nom de colonne

Type

Description

event_time

datetime2

Date et heure auxquelles l'action pouvant être auditée est déclenchée. N'accepte pas la valeur NULL.

sequence_number

int

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. N'accepte pas la valeur Null.

action_id

varchar(4)

ID de l'action. N'accepte pas la valeur NULL.

succeeded

bit

1 = succès

0 = échec

Indique si l'action qui a déclenché l'événement a réussi. N'accepte pas la valeur NULL. Pour tous les événements autres que les événements de connexion, cet argument signale uniquement le succès ou l'échec de la vérification des autorisations, mais n'indique rien sur l'opération.

permission_bitmask

varbinary(16)

Dans certaines actions, il s'agit des autorisations qui ont été accordées, refusées ou révoquées.

is_column_permission

bit

1 = vrai

0 = faux

Indicateur qui indique s'il s'agit d'une autorisation de niveau colonne. N'accepte pas la valeur NULL. Retourne 0 lorsque le permission_bitmask = 0.

session_id

smallint

ID de la session au cours de laquelle l'événement s'est produit. N'accepte pas la valeur NULL.

server_principal_id

int

ID du contexte de connexion dans lequel l'action est effectuée. N'accepte pas la valeur Null.

database_principal_id

int

ID du contexte de l'utilisateur de base de données dans lequel l'action est effectuée. N'accepte pas la valeur Null. Retourne 0 si cela ne s'applique pas. Par exemple, une opération de serveur.

target_server_principal_id

int

Principal serveur sur lequel est effectuée l'opération GRANT/DENY/REVOKE. N'accepte pas la valeur NULL. Retourne 0 si non applicable.

target_database_principal_id

int

Principal de la base de données sur lequel est effectuée l'opération GRANT/DENY/REVOKE. N'accepte pas la valeur NULL. Retourne 0 si non applicable.

object_id

int

ID de l'entité sur laquelle l'audit s'est produit. Notamment :

  • Objets de serveur

  • Bases de données

  • Objets de base de données

  • Objets de schéma

N'accepte pas la valeur NULL. Retourne 0 si l'entité est le serveur lui-même ou si l'audit n'est pas effectué à un niveau objet. Par exemple, Authentification.

class_type

varchar(2)

Type d'entité pouvant être auditée sur laquelle l'audit se produit. N'accepte pas la valeur NULL.

session_server_principal_name

sysname

Principal du serveur pour la session. Autorise la valeur NULL.

server_principal_name

sysname

Connexion actuelle. Autorise la valeur NULL.

server_principal_sid

varbinary

SID de la connexion actuelle. Autorise la valeur NULL.

database_principal_name

sysname

Utilisateur actuel. Autorise la valeur NULL. Retourne NULL si non disponible.

target_server_principal_name

sysname

Connexion cible de l'action. Autorise la valeur NULL. Retourne NULL si non applicable.

target_server_principal_sid

varbinary

SID de la connexion cible. Autorise la valeur NULL. Retourne NULL si non applicable.

target_database_principal_name

sysname

Utilisateur cible de l'action. Autorise la valeur NULL. Retourne NULL si non applicable.

server_instance_name

sysname

Nom de l'instance de serveur où l'audit s'est produit. Le format de server\instance standard est utilisé.

database_name

sysname

Contexte de base de données dans lequel l'action s'est produite. Autorise la valeur NULL. Retourne NULL pour les audits qui ont lieu au niveau serveur.

schema_name

sysname

Contexte de schéma dans lequel l'action s'est produite. Autorise la valeur NULL. Retourne NULL pour les audits qui ont lieu à l'extérieur d'un schéma.

object_name

sysname

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

  • Objets de serveur

  • Bases de données

  • Objets de base de données

  • Objets de schéma

Autorise la valeur NULL. Retourne NULL si l'entité est le serveur lui-même ou si l'audit n'est pas effectué à un niveau objet. Par exemple, Authentification.

statement

nvarchar(4000)

Instruction TSQL si elle existe. Autorise la valeur NULL. Retourne NULL si non applicable.

additional_information

nvarchar(4000)

Les informations uniques qui s'appliquent seulement à un événement unique sont retournées au format XML. Un petit nombre d'actions pouvant être auditées contient ce type d'informations.

Un niveau de pile TSQL est affiché au format XML pour les actions auxquelles la pile TSQL est associée. Le format XML est le suivant :

<pile_tsql><niveau_imbrication_cadre = « %u » nom_base_de_données = « %.*s » nom_schéma = « %.*s » nom_objet = « %.*s » /></pile_tsql>

Niveau_imbrication_cadre indique le niveau d'imbrication actuel du cadre. Le nom du module est représenté dans un format en trois parties (nom_base_de_données, nom_schéma et nom_objet). Le nom du module est analysé afin de placer entre séquence d'échappement les caractères XML non valides tels que « < », « > », « / » et « _x ». Ils sont placés sous la forme _xHHHH_. HHHH représente le code UCS-2 hexadécimal à quatre chiffres du caractère.

Autorise la valeur NULL. Retourne NULL lorsqu'il n'y a pas d'informations supplémentaires signalées par l'événement.

file_name

varchar(260)

Chemin d'accès et nom du fichier journal d'audit d'où provenait l'enregistrement. N'accepte pas la valeur NULL.

audit_file_offset

bigint

Offset de la mémoire tampon dans le fichier qui contient l'enregistrement d'audit. N'accepte pas la valeur NULL.

user_defined_event_id

smallint

L'ID d'événement défini par l'utilisateur est transmis comme argument à sp_audit_write. NULL pour des événements système (valeur par défaut) et différent de zéro pour l'événement défini par l'utilisateur. Pour plus d'informations, consultez sp_audit_write (Transact-SQL).

user_defined_information

nvarchar(4000)

Utilisé pour enregistrer toute information supplémentaire que l'utilisateur souhaite enregistrer dans le journal d'audit à l'aide de la procédure stockée sp_audit_write.

Notes

Si l'argument file_pattern passé à fn_get_audit_file référence un chemin d'accès ou un fichier qui n'existe pas, ou si le fichier n'est pas un fichier d'audit, le message d'erreur MSG_INVALID_AUDIT_FILE est retourné.

Autorisations

Requiert l'autorisation CONTROL SERVER.

Exemples

Cet exemple lit à partir d'un fichier nommé \\serverName\Audit\HIPPA_AUDIT.sqlaudit.

SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO

Pour obtenir un exemple complet de création d'audit, consultez SQL Server Audit (moteur de base de données).

Voir aussi

Référence

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.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)

Concepts

Créer un audit du serveur et une spécification d'audit du serveur