Partager via


Broker:Conversation, classe d'événements

SQL Server génère un événement Broker :Conversation pour signaler la progression d’une conversation Service Broker.

Colonnes de données de la classe d’événements Broker:Conversation

Colonne de données Catégorie Descriptif Numéro de colonne Filtrable
ApplicationName nvarchar Nom de l’application cliente qui a créé la connexion à une instance de SQL Server. Cette colonne est remplie avec les valeurs passées par l’application au lieu du nom affiché du programme. 10 Oui
ClientProcessID int ID attribué par l’ordinateur hôte au processus où l’application cliente est en cours d’exécution. Cette colonne de données est remplie si l'ID du processus du client est fourni par le client. 9 Oui
DatabaseID int ID de la base de données spécifiée par l’instruction USE Database . Si aucune instruction use databasen’a été émise, l’ID de la base de données par défaut. Le Générateur de profils SQL affiche le nom de la base de données si la colonne de données ServerName du serveur est capturée dans la trace et que le serveur est disponible. Déterminez la valeur d’une base de données à l’aide de la fonction DB_ID . 3 Oui
EventClass int Type de classe d’événements capturé. Toujours 124 pour Broker :Conversation. 27 Non
EventSequence int Numéro de séquence de cet événement. 51 Non
EventSubClass nvarchar Type de sous-classe d’événement. Cela fournit plus d’informations sur chaque classe d’événements. Vingt-et-un Oui
GUID uniqueidentifier ID de conversation de la boîte de dialogue. Cet identificateur est transmis dans le cadre du message et est partagé entre les deux côtés de la conversation. 54 Non
Nom d’hôte nvarchar Nom de l’ordinateur sur lequel le client est en cours d’exécution. Cette colonne de données est remplie si le nom de l'hôte est fourni par le client. Pour déterminer le nom d’hôte, utilisez la fonction HOST_NAME . 8 Oui
IsSystem int Indique si l'événement s'est produit sur un processus système ou sur un processus utilisateur.

0 = utilisateur

1 = système
soixante Non
LoginSid image Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Chaque connexion possède un SID unique au niveau du serveur. 41 Oui
MethodName nvarchar Groupe de conversation auquel appartient la conversation. 47 Non
NTDomainName nvarchar Domaine Windows auquel appartient l’utilisateur. 7 Oui
NTUserName nvarchar Nom de l’utilisateur propriétaire de la connexion qui a généré cet événement. 6 Oui
ObjectName nvarchar Identifiant de la conversation de la boîte de dialogue. 34 Non
Priorité int Niveau de priorité de la conversation 5 Oui
RoleName nvarchar Le rôle de l'interface de conversation. Il s’agit de l’initiateur ou de la cible. 38 Non
Nom_serveur nvarchar Nom de l’instance de SQL Server en cours de suivi. 26 Non
Sévérité int Gravité de l’erreur SQL Server, si cet événement signale une erreur. 29 Non
SPID int ID de processus serveur affecté par SQL Server au processus associé au client. 12 Oui
StartTime datetime Heure à laquelle l’événement a démarré, quand il est disponible. 14 Oui
TextData ntext État actuel de la conversation. L’une des opérations suivantes :

DONC. Démarré en sortie. SQL Server a traité une CONVERSATION BEGIN pour cette conversation, mais aucun message n’a été envoyé.

SI. Démarré entrant. Une autre instance du moteur de base de données a démarré une nouvelle conversation avec l’instance actuelle, mais l’instance actuelle n’a pas fini de recevoir le premier message. SQL Server peut créer la conversation dans cet état si le premier message est fragmenté ou si SQL Server reçoit des messages en dehors de l'ordre. Toutefois, SQL Server peut créer la conversation dans l’état CO si la première transmission reçue pour la conversation contient le premier message complet.

CO. Converser. La conversation est établie, et les deux côtés de la conversation peuvent envoyer des messages. La plupart des communications pour un service classique se produisent lorsque la conversation est dans cet état.

DI. Connexion entrante déconnectée. La partie distante de la conversation a envoyé une FIN DE CONVERSATION. La conversation reste dans cet état jusqu’à ce que le côté local de la conversation émette un END CONVERSATION. Une application peut toujours recevoir des messages pour la conversation. Étant donné que le côté distant de la conversation a terminé la conversation, une application ne peut pas envoyer de messages sur cette conversation. Lorsqu’une application émet une FIN DE CONVERSATION, la conversation passe à l’état FERMÉ (CD).

FAIS. Liaison sortante déconnectée. La partie locale de la session a déclenché un END CONVERSATION. La conversation reste dans cet état jusqu’à ce que la partie distante de la conversation accuse réception de la FIN DE CONVERSATION. Une application ne peut pas envoyer ou recevoir des messages pour la conversation. Lorsque la partie distante de la conversation reconnaît la FIN DE CONVERSATION, la conversation passe à l’état FERMÉ (CD).

ER. Erreur. Une erreur s’est produite sur ce point de terminaison. Les colonnes Error, Severity et State contiennent des informations sur l’erreur spécifique qui s’est produite.

CD. Fermé. Le point de terminaison de conversation n’est plus utilisé.
1 Oui
ID de transaction bigint ID de transaction attribué par le système. 4 Non

Le tableau suivant répertorie les valeurs de sous-classe pour cette classe d’événements.

ID Sous-classe Descriptif
1 ENVOYER un message SQL Server génère un événement SEND Message lorsque le moteur de base de données exécute une instruction SEND.
2 FIN DE LA CONVERSATION SQL Server génère un événement END CONVERSATION lorsque le moteur de base de données exécute une instruction END CONVERSATION qui n’inclut pas la clause WITH ERROR.
3 TERMINER LA CONVERSATION EN CAS D'ERREUR SQL Server génère un événement END CONVERSATION WITH ERROR lorsque le moteur de base de données exécute une instruction END CONVERSATION qui inclut la clause WITH ERROR.
4 Erreur initiée par le courtier SQL Server génère un événement d’erreur initié par le répartiteur chaque fois que Service Broker crée un message d’erreur. Par exemple, lorsque Service Broker ne peut pas acheminer correctement un message pour une boîte de dialogue, le répartiteur crée un message d’erreur pour la boîte de dialogue et génère cet événement. SQL Server ne génère pas cet événement lorsqu’un programme d’application met fin à une conversation avec une erreur.
5 Fermer la boîte de dialogue Service Broker a terminé la boîte de dialogue. Service Broker met fin aux dialogues en réponse à des conditions qui empêchent le dialogue de continuer, mais qui ne sont pas des erreurs ou la fin normale d’une conversation. Par exemple, la suppression d’un service entraîne Service Broker à mettre fin à tous les dialogues de ce service.
6 Message séquencé reçu SQL Server génère une classe d’événements Réception de message séquencé lorsque SQL Server reçoit un message contenant un numéro de séquence de messages. Tous les types de messages définis par l’utilisateur sont des messages séquencés. Service Broker génère un message non séquencé dans deux cas :

Les messages d'erreur générés par Service Broker ne sont pas séquencés.

Les accusés de réception de message peuvent ne pas être séquentiels. Pour plus d’efficacité, Service Broker inclut tout accusé de réception disponible dans le cadre d’un message séquencé. Toutefois, si une application n’envoie pas de message séquencé au point de terminaison distant dans un délai déterminé, Service Broker crée un message non séquencé pour l’accusé de réception du message.
7 FIN DE CONVERSATION REÇUE SQL Server génère un événement de réception END CONVERSATION lorsque SQL Server reçoit un message de fin de dialogue provenant de l'autre partie de la conversation.
8 FIN DE CONVERSATION REÇUE AVEC ERREUR SQL Server génère un événement RECEIVE END CONVERSATION WITH ERROR lorsque SQL Server reçoit une erreur définie par l’utilisateur de l’autre côté de la conversation. SQL Server ne génère pas cet événement lorsque SQL Server reçoit une erreur définie par le répartiteur.
9 Message d’erreur du courtier reçu SQL Server génère un événement de type message d'erreur de courtier reçu quand Service Broker reçoit un message d'erreur défini par le courtier de l'autre côté de la conversation. SQL Server ne génère pas cet événement lorsque Service Broker reçoit un message d’erreur généré par une application.

Par exemple, si la base de données active contient un itinéraire par défaut vers une base de données de transfert, Service Broker achemine un message avec un nom de service inconnu vers la base de données de transfert. Si cette base de données ne peut pas acheminer le message, le répartiteur de cette base de données crée un message d’erreur et retourne ce message d’erreur vers la base de données active. Lorsque la base de données active reçoit l’erreur générée par le courtier à partir de la base de données de transfert, la base de données active génère un événement Message d’erreur de courtier reçu.
10 RÉCEPTION DE LA CONVERSATION DE FIN ACK SQL Server génère une classe d’événements ACK DE FIN DE CONVERSATION reçue lorsque l’autre côté d’une conversation reconnaît un message de fin de dialogue ou d'erreur envoyé par ce côté de la conversation.
11 COMMENCER LE DIALOGUE SQL Server génère un événement BEGIN DIALOG lorsque le moteur de base de données exécute une commande BEGIN DIALOG.
12 Boîte de dialogue Créée SQL Server génère un événement Dialogue créée lorsque Service Broker crée un point de terminaison pour une boîte de dialogue. Service Broker crée un point de terminaison chaque fois qu’une nouvelle boîte de dialogue est établie, que la base de données active soit l’initiateur ou la cible du dialogue.
13 TERMINER LA CONVERSATION AVEC NETTOYAGE FINAL SQL Server génère un événement END CONVERSATION WITH CLEANUP lorsque le moteur de base de données exécute une instruction END CONVERSATION qui inclut la clause WITH CLEANUP.

Voir aussi

SQL Server Service Broker