Partager via


sys.sysprocesses (Transact-SQL)

Contient des informations sur les processus en cours d'exécution sur une instance de SQL Server. Il peut s'agir de processus client ou système. Pour accéder à sysprocesses, vous devez vous trouver dans le contexte de base de données master ou utiliser le nom en trois parties master.dbo.sysprocesses.

Important

Cette table système SQL Server 2000 est incluse sous la forme d'une vue pour la compatibilité descendante. Nous vous recommandons d'utiliser les vues système SQL Server actuelle. Pour trouver les vues système équivalentes, consultez Mappage des tables système SQL Server 2000 avec les vues système SQL Server 2005. Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Nom de colonne

Type de données

Description

spid

smallint

ID de la session SQL Server.

kpid

smallint

ID de thread Windows.

blocked

smallint

ID de la session qui bloque la demande. Si cette colonne est NULL, la demande n'est pas bloquée, ou les informations de session de la session bloquant la demande ne sont pas disponibles (ou ne peuvent pas être identifiées).

-2 = La ressource qui bloque la demande appartient à une transaction distribuée orpheline.

-3 = La ressource qui bloque la demande appartient à une transaction de récupération différée.

-4 = L'ID de session du propriétaire du verrou qui bloque la demande n'a pas pu être déterminé en raison de transitions d'état de verrou interne.

waittype

binary(2)

Réservé.

waittime

bigint

Temps d'attente total (en millisecondes).

0 = Le processus n'est pas en attente.

lastwaittype

nchar(32)

Chaîne indiquant le nom du dernier type d'attente ou celui du type d'attente actuel.

waitresource

nchar(256)

Description textuelle d'une ressource de verrouillage.

dbid

smallint

ID de la base de données actuellement utilisée par le processus.

uid

smallint

ID de l'utilisateur qui a exécuté la commande. Effectue un dépassement de capacité ou retourne la valeur NULL si le nombre d'utilisateurs et de rôles dépasse 32 767. Pour plus d'informations, consultez Interrogation des catalogues système de SQL Server.

cpu

int

Temps UC cumulé pour l'exécution du processus. L'entrée est mise à jour pour tous les processus, indépendamment de la valeur de l'option SET STATISTICS TIME (ON ou OFF).

physical_io

int

Nombre total d'opérations d'écriture et de lecture sur disque pour le processus.

memusage

int

Nombre de pages du cache de procédure actuellement allouées à ce processus. Un nombre négatif indique que le processus libère de la mémoire allouée par un autre processus.

login_time

datetime

Heure à laquelle le processus client s'est connecté au serveur. Pour les processus système, il s'agit du moment auquel le lancement de SQL Server est enregistré.

last_batch

datetime

Dernière exécution par un processus client d'un appel de procédure stockée distante ou d'une instruction EXECUTE. Pour les processus système, il s'agit du moment auquel le lancement de SQL Server est enregistré.

ecid

smallint

ID du contexte d'exécution utilisé pour identifier de façon unique les sous-threads exécutés pour le compte d'un seul et même processus

open_tran

smallint

Nombre de transactions en cours pour le processus.

status

nchar(30)

État de l'ID processus. Les valeurs possibles sont les suivantes :

dormant = SQL Server est en train de réinitialiser la session.

running = la session est en train d'exécuter un ou plusieurs traitements. Lorsque la fonctionnalité MARS (Multiple Active Result Sets) est activée, une session peut exécuter plusieurs traitements. Pour plus d'informations, consultez Utilisation de MARS (Multiple Active Result Sets).

background = la session est en train d'exécuter une tâche en arrière-plan, comme par exemple une détection de blocage.

rollback = un processus de restauration de transaction est en cours dans la session.

pending = la session attend qu'un thread de travail soit disponible.

runnable = la tâche de la session se trouve dans la file d'attente exécutable d'un planificateur en attendant d'obtenir un quantum de temps.

spinloop = la tâche de la session attend qu'un verrouillage spinlock se libère.

suspended = la session attend la fin d'un événement, tel qu'une E/S.

sid

binary(86)

GUID (Globally Unique Identifier) de l'utilisateur.

hostname

nchar(128)

Nom du poste de travail.

program_name

nchar(128)

Nom du logiciel d'application.

hostprocess

nchar(10)

Numéro d'identification du processus du poste de travail.

cmd

nchar(16)

Commande actuellement exécutée.

nt_domain

nchar(128)

Domaine Windows du client (s'il utilise l'authentification Windows) ou d'une connexion approuvée.

nt_username

nchar(128)

Nom d'utilisateur Windows pour le processus (s'il utilise l'authentification Windows) ou une connexion approuvée.

net_address

nchar(12)

Identificateur unique affecté à la carte réseau du poste de travail de chaque utilisateur. Lorsqu'un utilisateur se connecte, cet identificateur est inséré dans la colonne net_address.

net_library

nchar(12)

Colonne dans laquelle est enregistrée la bibliothèque réseau du client. Chaque processus client arrive sur une connexion réseau. Les connexions réseau ont une bibliothèque réseau associée qui leur permet de se connecter. Pour plus d'informations, consultez Protocoles réseau et points de terminaison TDS.

loginame

nchar(128)

Nom de la connexion.

context_info

binary(128)

Données stockées dans un traitement à l'aide de l'instruction SET CONTEXT_INFO.

sql_handle

binary(20)

Représente le traitement ou l'objet en cours d'exécution.

RemarqueRemarque
Cette valeur est dérivée du traitement ou de l'adresse mémoire de l'objet. Cette valeur n'est pas calculée à l'aide de l'algorithme de hachage de SQL Server.

stmt_start

int

Décalage de début de l'instruction SQL en cours pour la colonne sql_handle spécifiée.

stmt_end

int

Décalage de fin de l'instruction SQL actuelle pour la colonne sql_handle spécifiée.

-1 = L'instruction en cours s'exécute jusqu'à la fin des résultats renvoyés par la fonction fn_get_sql pour la colonne sql_handle spécifiée.

request_id

int

ID de la requête. Utilisé pour identifier les requêtes qui s'exécutent dans une session spécifique.

Notes

Si un utilisateur dispose de l'autorisation VIEW SERVER STATE sur le serveur, il voit toutes les sessions en cours d'exécution dans l'instance de SQL Server ; sinon, il ne voit que la session actuelle.