129
5.4 Choix des compteurs
Figure 5.15 — Recherche des threads
Lorsque le thread est identifié, vous trouvez la correspondance dans SQL Server à
partir de la colonne kpid de la vue sys.sysprocesses (une vue qui correspond à
l’ancienne table système du même nom), qui représente le même identifiant :
SELECT *
FROM sys.sysprocesses
WHERE kpid = ID_Thread;
5.4.6 Utiliser les compteurs dans le code SQL
La vue système sys.dm_os_performance_counters permet de retrouver dans du code
SQL des valeurs de compteurs de performance. Elle remplace la table
master.dbo.sysperfinfo de SQL Server 2000. Cette table est toujours disponible,
mais elle est dépréciée. Il est donc recommandé d’utiliser la vue de gestion dynamique pour la remplacer. Cette vue ne permet de retrouver que les compteurs
propres aux objets SQL Server, et pas les compteurs des objets système.
Vous pouvez ainsi, dans votre code, requêter ou réagir aux valeurs de compteur.
Voici par exemple une requête qui vous indique quel est le pourcentage du journal
de transaction rempli, pour chaque base de données :
SELECT instance_name,
cntr_value as LogFileUsedSize
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Log File(s) Used Size (KB)';
5.4 Choix des compteurs
Figure 5.15 — Recherche des threads
Lorsque le thread est identifié, vous trouvez la correspondance dans SQL Server à
partir de la colonne kpid de la vue sys.sysprocesses (une vue qui correspond à
l’ancienne table système du même nom), qui représente le même identifiant :
SELECT *
FROM sys.sysprocesses
WHERE kpid = ID_Thread;
5.4.6 Utiliser les compteurs dans le code SQL
La vue système sys.dm_os_performance_counters permet de retrouver dans du code
SQL des valeurs de compteurs de performance. Elle remplace la table
master.dbo.sysperfinfo de SQL Server 2000. Cette table est toujours disponible,
mais elle est dépréciée. Il est donc recommandé d’utiliser la vue de gestion dynamique pour la remplacer. Cette vue ne permet de retrouver que les compteurs
propres aux objets SQL Server, et pas les compteurs des objets système.
Vous pouvez ainsi, dans votre code, requêter ou réagir aux valeurs de compteur.
Voici par exemple une requête qui vous indique quel est le pourcentage du journal
de transaction rempli, pour chaque base de données :
SELECT instance_name,
cntr_value as LogFileUsedSize
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Log File(s) Used Size (KB)';
