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