Broker:Conversation Event Class

SQL Server generates a Broker:Conversation event to report the progress of a Service Broker conversation.

Broker:Conversation Event Class Data Columns

Data column Type Description Column number Filterable

ApplicationName

nvarchar

The name of the client application that created the connection to an instance of SQL Server. This column is populated with the values passed by the application rather than the displayed name of the program.

10

Yes

ClientProcessID

int

The ID assigned by the host computer to the process where the client application is running. This data column is populated if the client process ID is provided by the client.

9

Yes

DatabaseID

int

The ID of the database specified by the USE database statement, or the ID of the default database if no USE databasestatement has been issued for a given instance. SQL Server Profiler displays the name of the database if the Server Name data column is captured in the trace and the server is available. Determine the value for a database by using the DB_ID function.

3

Yes

EventClass

int

The type of event class captured. Always 124 for Broker:Conversation.

27

No

EventSequence

int

Sequence number for this event.

51

No

EventSubClass

nvarchar

The type of event subclass, providing further information about each event class.

21

Yes

GUID

uniqueidentifier

The conversation id of the dialog. This identifier is transmitted as part of the message, and is shared between both sides of the conversation.

54

No

HostName

nvarchar

The name of the computer on which the client is running. This data column is populated if the host name is provided by the client. To determine the host name, use the HOST_NAME function.

8

Yes

IsSystem

int

Indicates whether the event occurred on a system process or a user process.

0 = user

1 = system

60

No

LoginSid

image

The security identification number (SID) of the logged-in user. Each SID is unique for each login in the server.

41

Yes

MethodName

nvarchar

The conversation group that the conversation belongs to.

47

No

NTDomainName

nvarchar

The Windows domain to which the user belongs.

7

Yes

NTUserName

nvarchar

The name of the user that owns the connection that generated this event.

6

Yes

ObjectName

nvarchar

The conversation handle of the dialog.

34

No

RoleName

nvarchar

The role of the conversation handle. This is either initiator or target.

38

No

ServerName

nvarchar

The name of the instance of SQL Server being traced.

26

No

Severity

int

The SQL Server error severity, if this event reports an error.

29

No

SPID

int

The server process ID assigned by SQL Server to the process associated with the client.

12

Yes

StartTime

datetime

The time at which the event started, when available.

14

Yes

TextData

ntext

The current state of the conversation. One of:

  • SO. Started outbound. SQL Server processed a BEGIN CONVERSATION for this conversation, but no messages have yet been sent.
  • SI. Started inbound. Another instance started a new conversation with SQL Server, but SQL Server has not yet completely received the first message. SQL Server may create the conversation in this state if the first message is fragmented or SQL Server receives messages out of order. However, SQL Server may create the conversation in the CO state if the first transmission received for the conversation contains the entire first message.
  • CO. Conversing. The conversation is established, and both sides of the conversation may send messages. Most of the communication for a typical service takes place when the conversation is in this state.
  • DI. Disconnected inbound. The remote side of the conversation has issued an END CONVERSATION. The conversation remains in this state until the local side of the conversation issues an END CONVERSATION. An application may still receive messages for the conversation. Since the remote side of the conversation has ended the conversation, an application may not send messages on this conversation. When an application issues an END CONVERSATION, the conversation moves to the CD state.
  • DO. Disconnected outbound. The local side of the conversation has issued an END CONVERSATION. The conversation remains in this state until the remote side of the conversation acknowledges the END CONVERSATION. An application may not send or receive messages for the conversation. When the remote side of the conversation acknowledges the END CONVERSATION, the conversation moves to the CD state.
  • ER. Error. An error has occurred on this endpoint. The Error, Severity, and State columns contain information on the specific error that occurred.
  • CD. Closed. The conversation endpoint is no longer in use.

1

Yes

Transaction ID

bigint

The system-assigned ID of the transaction.

4

No

The table below lists the subclass values for this event class.

ID Subclass Description

1

SEND Message

SQL Server generates a SEND Message event when the Database Engine executes a SEND statement.

2

END CONVERSATION

SQL Server generates an END CONVERSATION event when the Database Engine executes an END CONVERSATION statement that does not include the WITH ERROR clause.

3

END CONVERSATION WITH ERROR

SQL Server generates an END CONVERSATION WITH ERROR event when the Database Engine executes an END CONVERSATION statement that includes the WITH ERROR clause.

4

Broker Initiated Error

SQL Server generates a Broker Initiated Error event whenever Service Broker creates an error message. For example, when Service Broker cannot successfully route a message for a dialog, the broker creates an error message for the dialog and generates this event. SQL Server does not generate this event when an application program ends a conversation with an error.

5

Terminate Dialog

Service Broker terminated the dialog. Service Broker terminates dialogs in response to conditions that prevent the dialog from continuing, but which are not errors or the normal end of a conversation. For example, dropping a service causes Service Broker to terminate all dialogs for that service.

6

Received Sequenced Message

SQL Server generates a Received Sequenced Message event class when SQL Server receives a message that contains a message sequence number. All user-defined message types are sequenced messages. Service Broker generates an unsequenced message in two cases:

  • Error messages generated by Service Broker are unsequenced.
  • Message acknowledgements may be unsequenced. For efficiency, Service Broker includes message acknowledgements as part of a sequenced message wherever possible. However, if an application does not send a sequenced message to the remote endpoint within a certain period of time, Service Broker creates an unsequenced message for the message acknowledgement.

7

Received END CONVERSATION

SQL Server generates a Received END CONVERSATION event when SQL Server receives an End Dialog message from the other side of the conversation.

8

Received END CONVERSATION WITH ERROR

SQL Server generates a Received END CONVERSATION WITH ERROR event when SQL Server receives a user-defined error from the other side of the conversation. Notice that SQL Server does not generate this event when SQL Server receives a broker-defined error.

9

Received Broker Error Message

SQL Server generates a Received Broker Error Message event when Service Broker receives a broker-defined error message from the other side of the conversation. SQL Server does not generate this event when Service Broker receives an error message generated by an application.

For example, if the current database contains a default route to a forwarding database, Service Broker routes a message with an unknown service name to the forwarding database. If that database cannot route the message, the broker in that database creates an error message and returns that error message to the current database. When the current database receives the broker-generated error from the forwarding database, the current database generates a Received Broker Error Message event.

10

Received END CONVERSATION Ack

SQL Server generates a Received END CONVERSATION Ack event class when the other side of a conversation acknowledges an End Dialog or Error message sent by this side of the conversation.

11

BEGIN DIALOG

SQL Server generates a BEGIN DIALOG event when the Database Engine executes a BEGIN DIALOG command.

12

Dialog Created

SQL Server generates a Dialog Created event when Service Broker creates an endpoint for a dialog. Notice that Service Broker creates an endpoint whenever a new dialog is established, regardless of whether the current database is the initiator or the target of the dialog.

13

END CONVERSATION WITH CLEANUP

SQL Server generates an END CONVERSATION WITH CLEANUP event when the Database Engine executes an END CONVERSATION statement that includes the WITH CLEANUP clause.

See Also

Other Resources

Introducing Service Broker
Conversation Architecture

Help and Information

Getting SQL Server 2005 Assistance