Classe d'événements Broker:Conversation

SQL Server génère un événement Broker:Conversation pour indiquer 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 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 des valeurs transmises par l'application et non pas 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 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 ou ID de la base de données par défaut si aucune instruction USE databasen'a été émise pour une instance donnée. Le Générateur de profils SQL Server affiche le nom de la base de données si la colonne de données Server Name est capturée dans la trace et si le serveur est disponible. Détermine 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, qui fournit des informations complémentaires concernant chaque classe d’événement.

21

Oui

GUID

uniqueidentifier

ID de conversation du dialogue. Cet identificateur est transmis en tant qu'élément du message et est partagé par les deux parties de la conversation.

54

Non

HostName

nvarchar

Nom de l'ordinateur sur lequel le client est exécuté. Cette colonne de données est remplie si le nom d'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

60

Non

LoginSid

image

Numéro d'identification de sécurité (SID) de l'utilisateur connecté. Chaque SID est unique pour chaque connexion 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 qui possède la connexion ayant généré cet événement.

6

Oui

ObjectName

nvarchar

Handle de conversation du dialogue.

34

Non

RoleName

nvarchar

Rôle du handle de conversation. Ce peut être initiateur ou cible.

38

Non

ServerName

nvarchar

Nom de l'instance SQL Server tracée.

26

Non

Severity

int

Gravité de l'erreur SQL Server éventuellement indiquée par cet événement.

29

Non

SPID

int

ID du 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 être :

  • SO. Démarré en sortie. SQL Server a traité une instruction BEGIN CONVERSATION pour cette conversation, mais aucun message n'a été envoyé pour l'instant.
  • SI. Démarré en entrée. Une autre instance a démarré une nouvelle conversation avec SQL Server mais celui-ci n'a toujours pas complètement reçu 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 inexploitables. Toutefois, SQL Server peut créer la conversation dans l'état CO si la première transmission reçue pour la conversation contient la totalité du premier message.
  • 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 toujours 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.
  • DO. Déconnecté en sortie. La partie locale de la conversation a émis une instruction END CONVERSATION. La conversation demeure dans cet état jusqu'à ce que la partie distante de la conversation accuse réception de l'instruction 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 à l'état 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 la conversation n'est plus en cours d'utilisation.

1

Oui

Transaction ID

bigint

ID affecté à la transaction par le système.

4

Non

Le tableau ci-après recense les valeurs des sous-classes de cette classe d'événements.

ID Sous-classe Description

1

SEND 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

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 ne comporte pas la clause WITH ERROR.

3

END CONVERSATION WITH ERROR

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 comporte la clause WITH ERROR.

4

Broker Initiated Error

SQL Server génère un événement Broker Initiated Error chaque fois que Service Broker crée un message d'erreur. Par exemple, lorsque Service Broker ne parvient pas à acheminer un message pour un dialogue, il crée un message d'erreur pour celui-ci et génère cet événement. SQL Server ne génère pas cet événement lorsqu'une application termine une conversation par une erreur.

5

Terminate Dialog

Service Broker a mis fin au dialogue. Il agit ainsi en réponse aux conditions qui empêchent sa poursuite, à l'exception des erreurs ou de la fin normale d'une conversation. Par exemple, l'arrêt d'un service amène Service Broker à terminer tous les dialogues associés à ce service.

6

Received Sequenced Message

SQL Server génère une classe d'événements Received Sequenced Message lorsqu'il reçoit un message qui contient un numéro de séquence de message. 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 être non séquencés. Pour des raisons d'efficacité, Service Broker inclut des accusés de réception de message dans le cadre d'un message séquencé chaque fois que cela est possible. Toutefois, si une application n'envoie pas un message séquencé au point de terminaison distant pendant un certain temps, Service Broker crée un message non séquencé pour l'accusé de réception de message.

7

Received END CONVERSATION

SQL Server génère un événement Received END CONVERSATION lorsqu'il reçoit un message End Dialog de l'autre partie de la conversation.

8

Received END CONVERSATION WITH ERROR

SQL Server génère un événement Received END CONVERSATION WITH ERROR lorsqu'il reçoit une erreur définie par l'utilisateur en provenance de l'autre partie de la conversation. SQL Server ne génère pas cet événement lorsqu'il reçoit une erreur définie par le Broker.

9

Received Broker Error Message

SQL Server génère un événement Received Broker Error Message lorsque Service Broker reçoit un message d'erreur défini par le Broker en provenance de l'autre partie 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 Received END CONVERSATION Ack lorsque l'autre partie d'une conversation accuse réception d'un message End Dialog ou Error envoyé par cette partie 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 Dialog Created lorsque Service Broker crée un point de terminaison pour un dialogue. Service Broker agit ainsi chaque fois qu'un nouveau dialogue est établi, 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 le moteur de base de données exécute une instruction END CONVERSATION qui comporte la clause WITH CLEANUP.

Voir aussi

Autres ressources

Présentation de Service Broker
Architecture des conversations

Aide et Informations

Assistance sur SQL Server 2005