106
Chapitre 5. Analyse des performances
• GroupID : en SQL Server 2008, identifiant du groupe de ressources du
gouverneur de ressources. Voir la section 4.5.
• HostName : nom de la machine cliente qui a ouvert la session. Correspondant au résultat de la fonction niladique HOST_NAME().
• IndexId : identifiant de l’index. Correspond à la colonne index_id de la vue
système sys.indexes. Utile pour tracer les scans.
• IsSystem : indique si l’événement est déclenché par une session système.
Valeur 0 s’il s’agit d’une session utilisateur. Très utile pour filtrer les événements.
• LineNumber : contient le numéro de ligne de l’ordre, dans le batch ou dans la
procédure stockée. Sur les erreurs, indique la ligne sur laquelle elle s’est
produite.
• LoginName : contient le nom de la connexion (login) qui a ouvert la session.
Nom complet avec domaine en cas de connexion Windows intégrée (le nom
simple sera alors récupérable dans la colonne NTUserName).
• ObjectID : identifiant de l’objet. Correspond à la colonne object_id des vues
systèmes sys.objects ou sys.tables. Utile pour tracer les scans.
• SPID : identifiant de session attribué par SQL Server. Correspond à la valeur
récupérée par la variable système @@SPID. Utile pour filtrer une trace sur une
seule session. Attention cependant : dès la session fermée, ce même numéro
peut être réattribué par SQL Server à une nouvelle session.
Détection d’exceptions
Les événements de la catégorie « Errors and Warnings » tracent les erreurs et exceptions générées par SQL Server. C’est un bon moyen de surveiller votre serveur.
Parfois, certaines applications clientes provoquent des erreurs qui ne sont pas récupérées dans leur code, ce qui fait que ces erreurs restent invisibles. Parfois également,
des erreurs se produisent, et les utilisateurs pressent la touche ENTRÉE sur des
messages difficiles à comprendre, sans appeler le support informatique. Ou, lorsque
vous définissez vos propres erreurs, vous aimeriez savoir quand elles se déclenchent.
La meilleure manière de récupérer une erreur occasionnelle lorsque vous vous y
attendez, est de définir une alerte dans l’agent SQL. Vous pouvez vous faire notifier
par l’agent du déclenchement de toute erreur, par sa gravité, son numéro ou un texte
qu’elle contient. La programmation d’une alerte est hors du sujet de ce livre, nous
vous montrons simplement, sur la figure 5.7, un exemple d’alerte déclenchée sur une
erreur de gravité 23, déclenchée dans le contexte de la base AdventureWorks. La
réponse à cette alerte peut être l’envoi d’une notification par e-mail ou NET SEND,
ou l’activation d’un travail de l’agent.
Précédent

- 118/334

Suivant