101
5.2 SQL Trace et le profiler
Vous pouvez générer vos propres événements dans votre code SQL, à l’aide de la
procédure stockée sp_trace_generateevent. Vous pouvez passer dix événements différents, numérotés en interne de 82 à 91 (ce sont donc ces ID que vous passez en
paramètre à la procédure sp_trace_generateevent), et que vous retrouvez dans le
profiler sous User Configurable : UserConfigurable:0 à UserConfigurable:9. Voici
un exemple de déclenchement d’événement :
DECLARE @userdata varbinary(8000)
SET @userdata = CAST('c''est moi' as varbinary(8000))
EXEC sys.sp_trace_generateevent
@event_class = 82,
@userinfo = N'J''existe !!',
@userdata = @userdata
Cet événement sera visible comme UserConfigurable:0. Le contenu de @userinfo
sera affiché dans la colonne TextData et le contenu de @userdata dans la colonne
BinaryData.
Événements
Les événements les plus utiles sont :
• Database\Data File Auto Grow : une augmentation automatique de la taille
d’un fichier de données s’est produite. La base de données affectée est visible
dans la colonne DatabaseID.
• Database\Log File Auto Grow : une augmentation automatique de la taille
d’un fichier de journal s’est produite. La base de données affectée est visible
dans la colonne DatabaseID.
• Errors And Warnings\Attention : se déclenche lorsqu’un client est déconnecté brusquement.
• Errors And Warnings\Exception : erreurs retournées par SQL Server au
client, plus de détails plus loin.
• Errors And Warnings\Execution Warnings : avertissements déclenchés par
SQL Server à l’exécution de la requête.
• Errors And Warnings\Missing Column Statistics : type spécial d’avertissement, il manque des statistiques sur une colonne (voir la section 6.4).
• Errors And Warnings\Sort Warnings : avertissement sur une opération de
tri qui n’a pu être complètement exécutée en mémoire, et a donc « bavé »
dans tempdb (voir la section 8.1.2).
• Locks : événements sur les verrous. Les événements de pose de verrous sont
trop fréquents pour être utiles. Les événements de timeout vous permettent de
tracer des attentes trop longues annulées par une valeur de
LOCK_TIMEOUT de la session (voir la section 7.2). Les événements de
verrou mortel (deadlock) seront détaillés dans la section 7.5.2).
• Performance\Auto Stats : création ou mise à jour automatique de statistiques (voir section 6.4).
Précédent

- 113/334

Suivant