Description des colonnes waittype et lastwaittype de la table master.dbo.sysprocesses dans SQL Server 2000 et SQL Server 2005

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 822101
Résumé
La table master.dbo.sysprocesses dans Microsoft SQL Server 2000 et SQL Server 2005 est une table système qui contient des informations sur le processus actif serveur ID (SPID) qui s’exécutent sur SQL Server.

Si vous utilisez SQL Server 2005, vous pouvez également accéder à ce tableau à l’aide de la vue de compatibilité sys.sysprocesses .

La colonne type d’attente , la colonne lastwaittype , la colonne waittime et la colonne dans la table système master.dbo.sysprocesseswaitresource fournissent des informations sur les ressources en attente pendant les processus.

Cet article répertorie les valeurs possibles lastwaittype, les valeurs type d’attente associé et une brève description de leur signification.
Plus d'informations
La table système master.dbo.sysprocesses qui est stockée dans la base de données master de votre instance de SQL Server contient les colonnes suivantes qui aident les administrateurs système de surveiller les processus pour les scénarios de conflit de ressources et les problèmes de blocage :
  • waittype: le champ type d’attente est une colonne binaire interne réservée. TheValue dans le champ type d’attente indique le type de ressource qui le connectionis en attente.
  • lastwaittype: le champ lastwaittype est une représentation sous forme de chaîne du champtype d’attente . Le champ lastwaittype indique le dernier type d’attente ou d’un type d’attente actuels d’un SPID. Si la valeur de la colonne type d’attente pour un SPID is0x0000, le SPID est en attente actuellement pas sur n’importe quelle ressource. Dans ce cas, la colonne lastwaittype indique le dernier type d’attente qui ont connu de la SPIDhas. Toutefois, si la valeur de la colonne type d’attente pour un SPID isnon de zéro, les valeurs dans la colonne lastwaittype et letype d’attente pour le SPID sont égales. Ces valeurs indiquent le waitstate en cours pour le SPID.

    Remarque Le waittype UMSTHREAD est une exception à cette règle. Consultez la description de UMSTHREAD dans la section « Autres types d’attente » pour plus de détails.
  • temps d’attente: la colonne waittime fournit le nombre de millisecondes que theSPID a été en attente sur le type d’attente actuel.
  • GRANT: la colonne waitresource fournit plus d’informations sur la ressource spécifique que le SPID attend.
Les sections suivantes de cet article décrivent certains types d’attente qui sont pris en charge par SQL Server et qui sont souvent enregistrés dans la table système master.dbo.sysprocesses .

Les types d’attente verrouillage

Le tableau suivant répertorie les types d’attente verrouillage dans la table système master.dbo.sysprocesses dans SQL Server 2000 et SQL Server 2005.
LastwaittypeType d’attenteDescription
LCK_M_SCH_S0 x 01Stabilité du schéma
LCK_M_SCH_M0 x 02Modification du schéma
LCK_M_S0 x 03Partager
LCK_M_U0 x 04Mise à jour
LCK_M_X0 x 05Exclusif
LCK_M_IS0 x 06Mode de partage
LCK_M_IU0 x 07Intent-mise à jour
LCK_M_IX0 x 08Intent exclusif
LCK_M_SIU0 x 09Partagés intent mise à jour
LCK_M_SIX0x0APartage-Intent-exclusif
LCK_M_UIX0x0BIntent-mise à jour-exclusif
LCK_M_BU0x0CMise à jour globale
LCK_M_RS_S0x0DPlage de partager
LCK_M_RS_U0x0EPlage-partage-mise à jour
LCK_M_RI_NL0x0fPlage-insérer-NULL
LCK_M_RI_S0 x 10Plage-insérer-partagée
LCK_M_RI_U0 x 11Plage-insertion-mise à jour
LCK_M_RI_X0 x 12Plage-insérer-exclusif
LCK_M_RX_S0 x 13Plage exclusive-partagé
LCK_M_RX_U0 x 14Plage exclusive-mise à jour
LCK_M_RX_X0x15Plage exclusive-exclusif
Pour plus d’informations sur les types de verrou pris en charge dans SQL Server 2000 et SQL Server 2005, consultez les rubriques suivantes dans la documentation en ligne de SQL Server :
  • Comprendre le verrouillage dans SQL Server
  • Compatibilité de verrouillage
En outre, si un SPID est en attente sur les types d’attente du verrou et la valeur correspondante dans la colonne waittime qui est consignée dans la table système master.dbo.sysprocesses est très élevée, vous devez résoudre les problèmes de blocage pour votre instance de SQL Server.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
224453 Compréhension et résolution des problèmes de blocage de 2000 ou de SQL Server 7.0

Les types d’attente loquet

Un verrou est un objet de synchronisation légers à court terme. La liste suivante décrit les différents types de verrous :
  • Loquet du tampon non (Non-BUF): les verrous non-mémoire tampon de fournir des services de synchronisation àDans-mémoire des structures de données ou fournissent des lignes de code dépendant de la forconcurrency de protection de réentrance. Ces verrous peuvent être utilisés pour une variété ofthings, mais ils ne sont pas utilisés pour synchroniser l’accès à des pages de la mémoire tampon.
  • Verrouillage de la mémoire tampon (BUF): les verrous de la mémoire tampon sont utilisées pour synchroniser l’accès à BUFstructures et leurs pages de base de données associée. Latchingoccurs de la mémoire tampon par défaut pendant les opérations qui requièrent une sérialisation sur une page de mémoire tampon, (pendant un fractionnement de la page ou lors de l’allocation d’une nouvelle page, par exemple). Theselatches ne sont pas conservés pendant la durée d’une transaction. Ils sont indiqués dans la tablemaster.dbo.sysprocesses par les types d’attente PAGELATCH.

    Pour plus d’informations sur une des causes possibles de contention de verrou BUF, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
    328551 CORRECTIF : Améliorations de la concurrence pour la base de données tempdb
  • Les verrous d’e/s: les verrous d’e/s du constituent un sous-ensemble des loquets BUF lorsqueles utilisés tampon et la page de données associée ou la page d’index est au milieu d’une IOoperation. PAGEIOLATCH types d’attente sont utilisés pour les transferts de disque à mémoire et un temps d’attente importants pour ces types d’attente suggère sur disque I / Osubsystem des problèmes.
Le tableau suivant répertorie les types d’attente loquet différents que vous pouvez remarquer dans la table système master.dbo.sysprocesses dans SQL Server 2000 et SQL Server 2005.
LastwaittypeType d’attenteDescription
LATCH_NL0 x 400Loquet de null
LATCH_KP0x401Conserver le verrouillage
LATCH_SH0x402Verrou partagé
LATCH_UP0x403Verrou de mise à jour
LATCH_EX0x404Verrou exclusif
LATCH_DT0x405Détruire le loquet
PAGELATCH_NL0x410Verrou de page de mémoire tampon NULL
PAGELATCH_KP0x411Conserver le verrouillage de page de mémoire tampon
PAGELATCH_SH0x412Verrou de page de mémoire tampon de partage
PAGELATCH_UP0x413Verrou de page de mémoire tampon de mise à jour
PAGELATCH_EX0x414Verrou de page tampon exclusif
PAGELATCH_DT0x415Détruire le verrouillage de page de mémoire tampon
PAGEIOLATCH_NL0x420Accès aux pages d’e/s tampon NULL
PAGEIOLATCH_KP0x421Conserver le loquet de la page du tampon d’e/s
PAGEIOLATCH_SH0x422Partagé des accès rapides aux pages e/s tampon
PAGEIOLATCH_UP0x423Mise à jour du verrou de tampon page d’e/s
PAGEIOLATCH_EX0x424Accès aux pages d’e/s tampon exclusif
PAGEIOLATCH_DT0x425Détruire le loquet de la page du tampon d’e/s


Démarrage avec SQL Server 2000 SP4, la colonne waitresource pour les verrous Non-Buf plus courantes, le Latch_XX de verrous, est remplie en utilisant les valeurs dans le tableau suivant. Avant SQL Server 2000 SP4, il n’a aucun moyen de déterminer la raison que les verrous Non-buf contenait sans plus invasif de diagnostics, par exemple un userdump. Le type d’attente ou le waitresource doit être affiché en utilisant le temps d’attente. Le temps d’attente indique, en millisecondes, la durée pendant laquelle le thread a attendu.
GrantDescriptionRésolution des problèmes
FCBFGCB_ALLOCCes verrous Latch_XX sont conservés lorsque les pages sont allouées à partir d’un fichier, qu’il s’agisse d’une étendue uniforme ou mixte. Les loquets sont maintenus également pendant les opérations de répartition, tels que la croissance et la réduction d’un fichier, renommer ou déplacer un fichier, ajouter ou supprimer un fichier.Déterminer si les fichiers sont réduction ou en pleine croissance. À partir de SQL Server 2000 SP4, l’option étendue automatique sera considérée dans le journal des erreurs s’il prend plus de 30 secondes. Dans l’idéal, l’option étendue automatique doit être utilisée comme une sauvegarde, et vous devez utiliser la planification prudente éviter la pénalité de runtime de la croissance du fichier. Vous pouvez également modifier la valeur de croissance automatique par défaut de 10 pour cent à une taille fixe. Nous vous déconseillons d’utiliser le compactage automatique de la production. Les fichiers de ce groupe peuvent également émettre des nombreuses demandes d’allocations. Vous pouvez ajouter d’autres fichiers de ce groupe.
TRACETRACE_CONTROLLERTRACE_IO_SYNCCes verrous Latch_XX sont détenus à des fins de synchronisation dans les opérations de trace du Générateur de profils. Les opérations de synchronisation comprennent le démarrage, l’arrêt, affectant l’état de trace et synchroniser les lecteurs et writers. Identifier les traces du Générateur de profils qui sont en cours d’exécution. Essayez d’éviter d’exécuter plus d’une trace du Générateur de profils en même temps. Démarrage d’une trace du Générateur de profils, la trace est consignée dans le journal des événements application. En outre, vous pouvez utiliser la requête suivante dans l’Analyseur de requêtes SQL pour afficher les traces actives.
SELECT * FROM ::fn_trace_getinfo(NULL)
PARALLEL_PAGE_SUPPLIERCes verrous Latch_XX sont utilisés pour la synchronisation de l’extraction de pages d’une requête parallèle. Ce verrou indique que la requête est en cours d’exécution en parallèle et pourrait être typique.Paramétrez la requête si la colonne waittime est une grande valeur, et la requête est médiocres.
IDELe waitresource loquet IDE est utilisée lorsque la page PFS est analysée pour rechercher l’espace libre, et lorsque la page PFS est mis à jour pour refléter les allocations et les désallocations de pages. Ce verrouillage est également utilisé lorsque les pages simples sont affectés à un objet existant.Déterminez si vous avez un index ordonné en clusters sur l’objet en question.

Autres types d’attente

Le tableau suivant répertorie les autres types d’attente que vous remarquerez peut-être dans la table système master.dbo.sysprocesses dans SQL Server 2000 et SQL Server 2005.
LastwaittypeType d’attenteDescription
MISE EN VEILLE0 x 20Ce type d’attente indique que le SPID est en attente pendant une durée spécifiée et un état commun pour les threads d’arrière-plan qui traitent les lazywrites, les points de contrôle ou les événements de trace du Générateur de profils côté serveur.
IO_COMPLETION0 x 21Ce type d’attente indique que le SPID est en attente pour les demandes d’e/s terminer. Lorsque vous remarquez ce type d’attente pour un SPID dans la table système sysprocesses , vous devez identifier les goulots d’étranglement de disque à l’aide des compteurs de l’Analyseur de performances, trace Générateur de profils, la fonction de table système fn_virtualfilestats et l’option SHOWPLAN pour analyser les plans de requête qui correspondent au SPID. Vous pouvez réduire cette waittype en ajoutant de la bande passante des e/s supplémentaire ou de l’équilibrage des e/s sur les autres disques. Vous pouvez également réduire les e/s à l’aide de l’indexation, recherchez des plans de requête incorrecte et recherchez la sollicitation de la mémoire.
ASYNC_IO_COMPLETION0 x 22Ce type d’attente indique que le SPID est en attente pour les demandes d’e/s asynchrones à terminer. Comme les colonnes waittype IO_COMPLETION, ce type d’attente indique également un goulot d’étranglement d’e/s. Vous pouvez voir cette waittype pour les SPID pendant les opérations d’e/S longues, telles que la sauvegarde, CREATE DATABASE, ALTER DATABASE ou de la croissance automatique de base de données. Ce type d’attente peut également indiquer des goulots d’étranglement de disque.
RESOURCE_SEMAPHORE0 x 40Ce type d’attente indique que le SPID est en attente sur une ressource. Ici, les SPID est généralement attendent d’acquérir de la mémoire pour le tri ou l’opération de hachage lors de l’exécution de la requête. Ce type d’attente peut également indiquer que la mémoire pression existe dans la partie visible du pool de mémoire tampon.
DTC0 x 41Ce type d’attente indique que le SPID est en attente sur le service Microsoft Distributed Transaction Coordinator (MS DTC).
OLEDB0 x 42Ce type d’attente indique qu’un SPID a effectué une fonction d’appel à un fournisseur OLE DB et qu’il attend de la fonction renvoyer les données requises. Ce type d’attente peut également indiquer que le SPID est en attente pour les appels de procédure distante ou les requêtes de serveur liées renvoyer les données requises. Le SPID peut également être en attente pour les commandes d’insertion en bloc ou complet-recherches renvoyer les données requises.

Le waittype OLEDB est utilisée pour indiquer plusieurs États, y compris d’attente : liées des requêtes du serveur, les requêtes de recherche de texte intégral, commandes d’insertion en bloc, traces du Générateur de profils côté client, la matérialisation de tables virtuelles, telles que la table sysprocesses, lecteur de journal et DBCC CHECKDB.
RESOURCE_QUEUE0 x 44Il s’agit d’un état « inactif » ordinaire pour les threads d’arrière-plan dans SQL Server.
ASYNC_DISKPOOL_LOCK0 x 45Vous pouvez remarquer ce waittype pendant les opérations d’e/S longues telles que la création, l’expansion ou la suppression d’un fichier de base de données.
UMSTHREAD0 x 46Ce type d’attente indique qu’un lot a été reçu à partir d’une application cliente, mais qu’il n’y a pas de threads qui sont disponibles pour répondre à la demande. Si vous consultez régulièrement 0x0046 types d’attente pour SPID plusieurs, il existe un goulot d’étranglement important ailleurs dans le système qui est à l’aide de tous les threads de travail disponibles. Notez que la colonne waittime est toujours égale à 0 pour le waittype UMSTHREAD, et la colonne lastwaittype a tort peut afficher le nom d’un autre type d’attente au lieu de UMSTHREAD. »
WRITELOG0 x 81Ce type d’attente indique que le SPID est en attente d’une demande d’e/s de journal transaction pour terminer. Ce type d’attente peut également indiquer un goulot d’étranglement de disque.
PSS_CHILD
EXCHANGE
CXPACKET
0 x 101
0 x 200
0x208
Ces types d’attente sont impliqués dans l’exécution de requêtes en parallèle. Ces types d’attente indiquent que le SPID est en attente de terminer ou de démarrer un processus parallèle.
PAGESUPP0x209Ce type d’attente assure le suivi du temps d’attente est née en raison de la sérialisation requise dans la distribution des lignes à plusieurs appelants dans une analyse parallèle.
CURSEUR0x20CCe type d’attente indique que le SPID participe à la synchronisation de thread pendant qu’il utilise des curseurs asynchrones. Le paramètre de configuration sp_configure 'cursorthreshold' peut déterminer quand un curseur est créé de façon asynchrone.
DBTABLE0x202Ce type d’attente indique qu’un thread est en attente d’un point de contrôle et un autre thread est déjà la base de données de vérification.
EC0x203Ce type d’attente indique que le SPID est en attente pour l’accès au contexte d’exécution.
TEMPOBJ0x204Ce type d’attente indique que le SPID est en attente pour déplacer un objet temporaire qui est toujours utilisé.
XACTLOCKINFO0x205Ce type d’attente indique que le SPID est en attente pour effectuer la maintenance sur sa liste de verrouillage.
LOGMGR0x206Ce type d’attente est utilisé lorsque le SPID tente d’arrêter une base de données et attend les requêtes d’e/s de journal des transactions en attente terminer.
CMEMTHREAD0x207Ce type d’attente indique que le SPID est en attente pour l’accès à un objet mémoire thread-safe. La sérialisation permet de s’assurer que lorsque les utilisateurs sont allouer ou libérer de la mémoire à partir de l’objet mémoire, les autres SPID qui tentent d’effectuer la même tâche que d’attendre et la waittype CMEMTHREAD est définie lorsque les SPID sont en attente.

Vous pouvez remarquer ce waittype dans de nombreux scénarios. Toutefois, ce type d’attente est fréquemment enregistré lorsque les plans de requête ad hoc sont insérés rapidement dans un cache de procédure à partir de nombreuses connexions différentes à l’instance de SQL Server. Vous pouvez résoudre ce goulot d’étranglement en limitant les données qui doivent être insérées ou supprimées du cache de procédure, tels qu’explicitement paramétrage des requêtes afin que les requêtes peuvent être réutilisées ou à l’aide des procédures stockées le cas échéant.
ARRÊT0x20ACe type d’attente indique qu’une commande d’arrêt a été délivrée par le SPID, et le SPID est en attente pour les requêtes actives terminer.
WAITFOR0x20BCe type d’attente indique que le SPID est en état de veille à cause d’une instruction WAITFOR DELAY Transact-SQL.
NETWORKIO0 x 800Ce type d’attente indique que le SPID est en attente pour l’application cliente extraire les données avant que le SPID peut envoyer plus de résultats à l’application cliente.
Références
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
244455 Définition des champs waittype et lastwaittype de sysprocesses pour SQL Server 7.0
Pour plus d’informations sur la table système master.dbo.sysprocesses dans SQL Server 2000, visitez le site Web de Microsoft à l’adresse suivante : Pour plus d’informations sur les verrous dans SQL Server 2000, visitez le site Web de Microsoft à l’adresse suivante :

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 822101 - Dernière mise à jour : 08/06/2016 21:11:00 - Révision : 9.0

Microsoft SQL Server 2000 Standard, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlsetup kbsystemdata kbfield kbdatabase kbinfo kbmt KB822101 KbMtfr
Commentaires