Classe d'événements Lock:Timeout
La classe d'événements Lock:Timeout indique qu'une demande de verrou sur une ressource (par exemple une page) a dépassé le délai d'attente parce qu'une autre transaction retient un verrou bloquant sur la ressource requise. Le délai est déterminé par la fonction système @@LOCK_TIMEOUT et peut être défini à l'aide de l'instruction SET LOCK_TIMEOUT.
Utilisez la classe d'événements Lock:Timeout pour surveiller à quel moment des conditions d'expiration de délai se produisent. Ces informations sont utiles pour déterminer si les expirations des délais affectent de manière significative les performances de votre application et quels objets sont concernés. Vous pouvez examiner le code de l'application qui modifie ces objets pour déterminer si des modifications pouvant minimiser les délais d'expiration sont possibles.
Les événements Lock:Timeout d'une durée égale à 0 sont généralement le résultat d'analyses par sondage de verrou interne et n'indiquent pas nécessairement un problème. L'événement Lock:Timeout (timeout > 0) permet d'ignorer les délais d'une durée égale à 0.
Colonnes de données de la classe d'événements Lock:Timeout
Nom de la colonne de données |
Type de données |
Description |
ID de colonne |
Filtrable |
---|---|---|---|---|
ApplicationName |
nvarchar |
Nom de l'application cliente qui a créé la connexion à une instance de SQL Server. Cette colonne est remplie des valeurs transmises par l'application et non pas du nom affiché du programme. |
10 |
Oui |
BinaryData |
image |
Identificateur de la ressource de verrou. |
2 |
Oui |
ClientProcessID |
int |
ID affecté par l'ordinateur hôte au processus dans lequel s'exécute l'application cliente. Cette colonne de données est remplie si le client fournit l'ID du processus client. |
9 |
Oui |
DatabaseID |
int |
ID de la base de données dans laquelle le dépassement de délai d'attente de verrou s'est produit. Le SQL Server Profiler affiche le nom de la base de données si la colonne de données ServerName est capturée dans la trace et que le serveur est disponible. Déterminez la valeur pour une base de données à l'aide de la fonction DB_ID. |
3 |
Oui |
DatabaseName |
nvarchar |
Nom de la base de données dans laquelle le dépassement de délai d'attente s'est produit. |
35 |
Oui |
Duration |
bigint |
Durée (en microsecondes) s'écoulant entre l'émission de la demande de verrou et l'expiration de la temporisation. |
13 |
Oui |
EndTime |
datetime |
Heure de fin de l'événement. |
15 |
Oui |
EventClass |
int |
Type d'événement = 27. |
27 |
Non |
EventSequence |
int |
Séquence d'un événement donné dans la requête. |
51 |
Non |
GroupID |
int |
ID du groupe de charges de travail où l'événement SQL Trace se déclenche. |
66 |
Oui |
HostName |
nvarchar |
Nom de l'ordinateur sur lequel s'exécute le client. Cette colonne de données est remplie si le client fournit le nom de l'hôte. Pour déterminer le nom de l'hôte, utilisez la fonction HOST_NAME. |
8 |
Oui |
IntegerData2 |
int |
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
55 |
Oui |
IsSystem |
int |
Indique si l'événement s'est produit sur un processus système ou sur un processus utilisateur. 1 = système, 0 = utilisateur. |
60 |
Oui |
LoginName |
nvarchar |
Nom de la connexion de l'utilisateur (soit la connexion de sécurité SQL Server, soit les informations d'identification de connexion Microsoft Windows sous la forme DOMAINE\nom_utilisateur). |
11 |
Oui |
LoginSid |
image |
Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Vous pouvez trouver ces informations dans l'affichage catalogue sys.server_principals. Chaque SID est unique pour chaque connexion dans le serveur. |
41 |
Oui |
Mode |
int |
Mode au terme du délai d'attente. 0 = NULL - compatible avec tous les autres modes de verrouillage (LCK_M_NL) 1 = verrou de stabilité de schéma (LCK_M_SCH_S) 2 = verrou de modification de schéma (LCK_M_SCH_M) 3 = verrou partagé (LCK_M_S) 4 = verrou de mise à jour (LCK_M_U) 5 = verrou exclusif (LCK_M_X) 6 = verrou Intent partagé (LCK_M_IS) 7 = verrou Intent de mise à jour (LCK_M_IU) 8 = verrou Intent exclusif (LCK_M_IX) 9 = verrou partagé avec mise à jour Intent (LCK_M_SIU) 10 = verrou partagé avec Intent exclusif (LCK_M_SIX) 11 = verrou mise à jour avec Intent exclusif (LCK_M_UIX) 12 = verrou de mise à jour en bloc (LCK_M_BU) 13 = verrou d'étendue de clés partagé/de ressources partagé (LCK_M_RS_S) 14 = verrou d'étendue de clés partagé/de ressources partagé (LCK_M_RS_U) 15 = verrou d'étendue de clés d'insertion de valeurs NULL (LCK_M_RI_NL) 16 = verrou d'étendue de clés d'insertion partagé (LCK_M_RI_S) 17 = verrou d'étendue de clés d'insertion de mise à jour (LCK_M_RI_U) 18 = verrou d'étendue de clés d'insertion exclusif (LCK_M_RI_X) 19 = verrou d'étendue de clés exclusif partagé (LCK_M_RX_S) 20 = verrou d'étendue de clés exclusif de mise à jour (LCK_M_RX_U) 21 = verrou d'étendue de clés exclusif/de ressources exclusif (LCK_M_RX_X) |
32 |
Oui |
NTDomainName |
nvarchar |
Domaine Windows auquel appartient l'utilisateur. |
7 |
Oui |
NTUserName |
nvarchar |
Nom d'utilisateur Windows. |
6 |
Oui |
ObjectID |
int |
ID de l'objet arrivé à expiration, sous réserve qu'il soit disponible et applicable. |
22 |
Oui |
ObjectID2 |
bigint |
ID de l'entité ou de l'objet associé, s'il est disponible et applicable. |
56 |
Oui |
OwnerID |
int |
1 = TRANSACTION 2 = CURSOR 3 = SESSION 4 = SHARED_TRANSACTION_WORKSPACE 5 = EXCLUSIVE_TRANSACTION_WORKSPACE |
58 |
Oui |
RequestID |
int |
ID de la demande contenant l'instruction. |
49 |
Oui |
ServerName |
nvarchar |
Nom de l'instance de SQL Server faisant l'objet d'une trace. |
26 |
Non |
SessionLoginName |
nvarchar |
Nom de connexion de l'utilisateur à l'origine de la session. Exemple : si vous vous connectez à SQL Server en utilisant le nom d'utilisateur Login1 et exécutez une instruction sous le nom Login2, SessionLoginName retourne Login1 et LoginName retourne Login2. Cette colonne affiche les connexions SQL Server et Windows. |
64 |
Oui |
SPID |
int |
ID de la session sur laquelle l'événement s'est produit. |
12 |
Oui |
StartTime |
datetime |
Heure à laquelle a débuté l'événement, si elle est disponible. |
14 |
Oui |
TextData |
ntext |
Valeur texte dépendant du type de verrou en cours d'acquisition au moment où l'expiration du délai d'attente s'est produite. |
1 |
Oui |
TransactionID |
bigint |
ID affecté par le système à la transaction. |
4 |
Oui |
Type |
int |
1 = NULL_RESOURCE 2 = DATABASE 3 = FILE 5 = OBJECT 6 = PAGE 7 = KEY 8 = EXTENT 9 = RID 10 = APPLICATION 11 = METADATA 12 = AUTONAMEDB 13 = HOBT 14 = ALLOCATION_UNIT |
57 |
Oui |