Enregistrements SQL Server Audit
S'applique à : SQL Server
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 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 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 |
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 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 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 des colonnes event_Time, action_id et session_id pour identifier l’action.
Contenu associé
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)