Partager via


Broker:Conversation, classe d'événements

S’applique à : SQL Server Azure SQL Managed Instance

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 Type Description Column number Filtrable
ApplicationName nvarchar Nom de l'application cliente qui a créé la connexion à une instance de SQL Server. Cette colonne contient des valeurs transmises par l'application à la place du nom affiché du programme. 10 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 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 base de données . Si aucune instruction USE base de donnéesn’a été spécifiée, il s’agit de 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 pour une base de données à l’aide de la fonction DB_ID . 3 Oui
EventClass int Type de classe d'événements capturée. La valeur est 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énements. Cela fournit plus d'informations sur chaque classe d'événements. 21 Oui
GUID uniqueidentifier ID de conversation du dialogue. Cet identifiant est transmis en tant que partie intégrante du message et est partagé par les deux intervenants de la conversation. 54 Non
HostName nvarchar Nom de l'ordinateur sur lequel s'exécute le client. Cette colonne de données est remplie si le nom de l'hôte est fourni par le client. Pour déterminer le nom de l’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
60 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 conversations auquel la conversation appartient. 47 Non
NTDomainName nvarchar Domaine Windows auquel appartient l'utilisateur. 7 Oui
NTUserName nvarchar Nom de l'utilisateur propriétaire de la connexion ayant généré l'événement. 6 Oui
ObjectName nvarchar Descripteur de conversation du dialogue. 34 Non
Priorité int Niveau de priorité de la conversation. 5 Oui
RoleName nvarchar Rôle du descripteur de conversation. Il peut prendre la valeur initiator ou la valeur target. 38 Non
ServerName nvarchar Nom de l'instance SQL Server tracée. 26 Non
Niveau de gravité 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 de début de l'événement, si disponible. 14 Oui
TextData ntext État actuel de la conversation. Peut avoir l'une des valeurs suivantes : 1 Oui
SO. Démarrée en sortie. SQL Server a traité une CONVERSATION BEGIN pour cette conversation, mais aucun message n’a été envoyé.
SI. Démarré en entrée. 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 QUE 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. Conversation en cours. La conversation est établie et ses deux parties peuvent envoyer des messages. L'essentiel de la communication pour un service classique a lieu lorsque la conversation se trouve dans cet état.
DI. Déconnecté en entrée. La partie distante de la conversation a émis une instruction END CONVERSATION. La conversation demeure dans cet état jusqu'à ce que la partie locale de la conversation émette une instruction END CONVERSATION. Une application peut encore recevoir des messages pour la conversation. Dans la mesure où la partie distante de la conversation a terminé celle-ci, une application ne peut pas envoyer de messages sur cette conversation. Lorsqu'une application émet une instruction END CONVERSATION, la conversation passe à l'état CD (fermée).
DÉPLOYER. Déconnecté en sortie. La partie locale de la conversation a émis une instruction END CONVERSATION. La conversation reste dans cet état jusqu'à ce que le côté distant accuse réception de la commande END CONVERSATION. Une application ne peut pas envoyer ou recevoir des messages pour la conversation. Lorsque la partie distante de la conversation accuse réception de l'instruction END CONVERSATION, la conversation passe en état CD (fermée).
ER. Error. 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 la conversation n'est plus en cours d'utilisation.
ID de transaction bigint ID affecté à la transaction par le système. 4 Non

Le tableau ci-dessous répertorie les valeurs des sous-classes pour cette classe d'événements.

id Sous-classe Description
1 SEND Message SQL Server génère un événement SEND Message lorsque l’Moteur de base de données exécute une instruction SEND.
2 END 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 END CONVERSATION WITH ERROR SQL Server génère un événement END CONVERSATION WITH ERROR lorsque l’Moteur de base de données exécute une instruction END CONVERSATION qui inclut la clause WITH ERROR.
4 Broker Initiated Error 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 Terminate Dialog 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 la fin de tous les dialogues de ce service.
6 Received Sequenced Message SQL Server génère une classe d’événements Message séquencé reçu lorsque SQL Server reçoit un message qui contient 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 mis en file d’attente dans deux cas :

Les messages d’erreur générés par Service Broker ne sont pas mis en file d’attente.

Les accusés de réception des messages peuvent être non séquencés. 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 certain temps, Service Broker crée un message non mis en file d’attente pour l’accusé de réception du message.
7 Received END CONVERSATION SQL Server génère un événement RECEIVE END CONVERSATION lorsque SQL Server reçoit un message de boîte de dialogue fin de l’autre côté de la conversation.
8 Received END CONVERSATION WITH ERROR 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 Received Broker Error Message SQL Server génère un événement message d’erreur Broker reçu lorsque Service Broker reçoit un message d’erreur défini par le répartiteur 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 celle-ci ne peut pas acheminer le message, le Broker qu'elle contient crée un message d'erreur et le renvoie à la base de données active. Lorsque la base de données active reçoit l’erreur générée par le Broker en provenance de la base de données de transfert, elle génère un événement Received Broker Error Message .
10 Received END CONVERSATION Ack SQL Server génère une classe d’événements Ack DE CONVERSATION END reçue lorsque l’autre côté d’une conversation reconnaît une boîte de dialogue de fin ou un message d’erreur envoyé par ce côté de la conversation.
11 BEGIN DIALOG 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 Dialog Created SQL Server génère un événement créé par la boîte de dialogue 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 END CONVERSATION WITH CLEANUP SQL Server génère un événement END CONVERSATION WITH CLEANUP lorsque l’Moteur de base de données exécute une instruction END CONVERSATION qui inclut la clause WITH CLEANUP.

Voir aussi

SQL Server Service Broker