Définitions des champs 'cmd' sysprocesses MS SQL Server
-
29-09-2020 - |
Question
J'envisage de faire un profilage des types et des volumes de connexions tout au long de la journée.
J'utilise le sys.sysprocesses
pour rassembler les informations dont j'ai besoin, en regardant spécifiquement le 'cmd'
champ pour catégoriser les connexions.Quelqu'un a-t-il une bonne liste complète de définitions pour les valeurs dans ce domaine ?Je peux comprendre ce que beaucoup d'entre eux représentent, mais je ne trouve aucune définition en ligne pour certains d'entre eux, par exemple 'XE TIMER'
Merci beaucoup,
La solution
Comme suggéré dans le commentaire sys.sysprocesses est obsolète et Microsoft ne recommande pas son utilisation ultérieure.C'est juste là pour une compatibilité ascendante
La vue ci-dessus a été remplacée par sys.dm_exec_requests.Tu verrais cmd
la colonne de sys.sysprocesses est maintenant command
colonne dans sys.dm_exec_requests et cette colonne vous indique
Identifie le type actuel de commande en cours de traitement.Les types de commandes communs incluent les éléments suivants:
• SÉLECTIONNER
• INSÉRER
• MISE À JOUR
• SUPPRIMER
• JOURNAL DE SAUVEGARDE
• BASE DE DONNÉES DE SAUVEGARDE
• DBCC
• POUR
Le texte de la demande peut être récupéré à l'aide de sys.dm_exec_sql_text avec le sql_handle correspondant pour la demande.Les processus du système interne définissent la commande en fonction du type de tâche qu'ils effectuent.Les tâches peuvent inclure les éléments suivants :• VERROUILLER LE MONITEUR
• POINT DE CONTRÔLE PARESSEUX
• ÉCRIVAIN
N'est pas nullable.
Au lieu de cela, je vous suggère de vous concentrer sur la colonne sql_handle
qui est présent dans sys.dm_exec_requests
.Le code ci-dessous vous donnerait une requête derrière sql_handle
select er.session_id,
er.command,
t.text --gives query behind sql_handle
from sys.dm_exec_requests er
cross apply sys.dm_exec_sql_text(er.sql_handle) t