Compartir a través de


Broker:Conversation (clase de evento)

SQL Server genera un evento Broker:Conversation para informar del progreso de una conversación de Service Broker.

Columnas de datos de la clase de evento Broker:Conversation

Columna de datos

Tipo

Descripción

Número de columna

Filtrable

ApplicationName

nvarchar

Nombre de la aplicación cliente que ha creado la conexión a una instancia de SQL Server. Esta columna se rellena con los valores que pasa la aplicación en lugar de con el nombre mostrado del programa.

10

ClientProcessID

int

Id. que el equipo host asigna al proceso en el que se ejecuta la aplicación cliente. Esta columna de datos se rellena si el cliente proporciona el Id. del proceso del cliente.

9

DatabaseID

int

Id. de la base de datos especificada por la instrucción USE database. Si no se emitió ninguna instrucción USE database, el Id. de la base de datos predeterminada. SQL Server Profiler muestra el nombre de la base de datos si se captura la columna de datos ServerName en el seguimiento y el servidor está disponible. Determine el valor de una base de datos utilizando la función DB_ID.

3

EventClass

int

Tipo de clase de evento capturado. Es siempre 124 para Broker:Conversation.

27

No

EventSequence

int

Número de secuencia de este evento.

51

No

EventSubClass

nvarchar

Tipo de subclase de evento. Proporciona más información sobre cada clase de eventos.

21

GUID

uniqueidentifier

Id. de conversación del diálogo. Este identificador se transmite como parte del mensaje y se comparte entre los dos extremos de la conversación.

54

No

HostName

nvarchar

Nombre del equipo en el que se está ejecutando el cliente. Esta columna de datos se rellena si el cliente proporciona el nombre del host. Para determinar el nombre del host, utilice la función HOST_NAME.

8

IsSystem

int

Indica si el evento ha ocurrido en un proceso del sistema o en un proceso de usuario.

0 = usuario

1 = sistema

60

No

LoginSid

image

SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Cada SID es único para cada inicio de sesión en el servidor.

41

MethodName

nvarchar

Grupo de conversación al que pertenece la conversación.

47

No

NTDomainName

nvarchar

Dominio de Windows al que pertenece el usuario.

7

NTUserName

nvarchar

Nombre del usuario al que pertenece la conexión que ha generado este evento.

6

ObjectName

nvarchar

Identificador de conversación del diálogo.

34

No

Priority

int

Nivel de prioridad de la conversación.

5

RoleName

nvarchar

Función del identificador de conversación. Es initiator o target.

38

No

ServerName

nvarchar

Nombre de la instancia de SQL Server cuyo seguimiento se realiza.

26

No

Severity

int

Gravedad del error de SQL Server, si este evento informa de un error.

29

No

SPID

int

Identificador de proceso del servidor que SQL Server asigna al proceso relacionado con el cliente.

12

StartTime

datetime

Hora a la que se inició el evento, si está disponible.

14

TextData

ntext

El estado actual de la conversación. Uno de los siguientes:

  • SO. Salida iniciada. SQL Server procesó una instrucción BEGIN CONVERSATION para esta conversación, pero no se ha enviado ningún mensaje.

  • SI. Entrada iniciada. Otra instancia de Database Engine (Motor de base de datos) inició una nueva conversación con la instancia actual, pero la instancia actual no ha terminado de recibir el primer mensaje. SQL Server podría crear la conversación en este estado si se fragmenta el primer mensaje o si SQL Server recibe los mensajes sin orden. No obstante, SQL Server podría crear la conversación en el estado CO si la primera transmisión recibida de la conversación contiene el primer mensaje completo.

  • CO. Conversando. La conversación está establecida y los dos lados de la conversación pueden enviar mensajes. La mayor parte de la comunicación de un servicio típico tiene lugar cuando la conversación está en este estado.

  • DI. Entrada desconectada. El lado remoto de la conversación ha emitido un END CONVERSATION. La conversación permanece en este estado hasta que el lado local de la conversación emite un END CONVERSATION. Una aplicación puede seguir recibiendo mensajes de la conversación. Puesto que el lado remoto de la conversación ha finalizado la conversación, una aplicación no puede enviar mensajes en esta conversación. Cuando una aplicación emite un END CONVERSATION, la conversación pasa al estado CD (Cerrada).

  • DO. Salida desconectada. El lado local de la conversación ha emitido un END CONVERSATION. La conversación permanece en este estado hasta que el lado remoto de la conversación confirma un END CONVERSATION. Una aplicación no puede seguir enviando ni recibiendo mensajes de la conversación. Cuando el lado remoto de la conversación confirma el END CONVERSATION, la conversación pasa al estado CD (Cerrada).

  • ER. Error. Se ha producido un error en este extremo. Las columnas Error, Severity y State contienen información sobre el error específico que se ha producido.

  • CD. Cerrada. El extremo de la conversación ya no se utiliza.

1

Transaction ID

bigint

Id. de la transacción asignado por el sistema.

4

No

En la tabla siguiente se indican los valores de la subclase de esta clase de evento.

Id.

Subclase

Descripción

1

SEND Message

SQL Server genera un evento SEND Message cuando el Database Engine (Motor de base de datos) ejecuta una instrucción SEND.

2

END CONVERSATION

SQL Server genera un evento END CONVERSATION cuando el Database Engine (Motor de base de datos) ejecuta una instrucción END CONVERSATION que no incluye la cláusula WITH ERROR.

3

END CONVERSATION WITH ERROR

SQL Server genera un evento END CONVERSATION WITH ERROR cuando el Database Engine (Motor de base de datos) ejecuta una instrucción END CONVERSATION que incluye la cláusula WITH ERROR.

4

Broker Initiated Error

SQL Server genera un evento Broker Initiated Error siempre que Service Broker crea un mensaje de error. Por ejemplo, cuando Service Broker no puede enrutar correctamente un mensaje para un diálogo, el broker crea un mensaje de error para el diálogo y genera este evento. SQL Server no genera este evento cuando una aplicación finaliza una conversación con un error.

5

Terminate Dialog

Service Broker finalizó el diálogo. Service Broker finaliza los diálogos como respuesta a condiciones que impiden que el diálogo continúe, pero que no son errores ni la finalización normal de una conversación. Por ejemplo, si se quita un servicio, Service Broker finaliza todos los diálogos de ese servicio.

6

Received Sequenced Message

SQL Server genera una clase de evento Received Sequenced Message cuando SQL Server recibe un mensaje que contiene un número de secuencia de mensaje. Todos los tipos de mensajes definidos por el usuario son mensajes en secuencia. Service Broker genera un mensaje sin secuencia en dos casos:

  • Los mensajes de error generados por Service Broker son sin secuencia.

  • Los reconocimientos de mensajes pueden ser sin secuencia. Para lograr una mayor eficacia, Service Broker incluye reconocimientos de mensaje como parte de un mensaje en secuencia. Sin embargo, si una aplicación no envía un mensaje en secuencia al extremo remoto en un período determinado de tiempo, Service Broker crea un mensaje sin secuencia para el reconocimiento del mensaje.

7

Received END CONVERSATION

SQL Server genera un evento Received END CONVERSATION cuando SQL Server recibe un mensaje de finalización de diálogo del otro lado de la conversación.

8

Received END CONVERSATION WITH ERROR

SQL Server genera un evento Received END CONVERSATION WITH ERROR cuando SQL Server recibe un error definido por el usuario procedente del otro lado de la conversación. SQL Server no genera este evento cuando SQL Server recibe un error definido por el broker.

9

Received Broker Error Message

SQL Server genera un evento Received Broker Error Message cuando Service Broker recibe un mensaje de error definido por el broker procedente del otro lado de la conversación. SQL Server no genera este evento cuando Service Broker recibe un mensaje de error generado por una aplicación.

Por ejemplo, si la base de datos actual contiene una ruta predeterminada a una base de datos de reenvío, Service Broker enruta un mensaje con un nombre de servicio desconocido a la base de datos de reenvío. Si esa base de datos no puede enrutar el mensaje, el broker de la base de datos crea un mensaje de error y lo devuelve a la base de datos actual. Cuando la base de datos actual recibe el error generado por el broker de la base de datos de reenvío, la base de datos actual genera un evento Received Broker Error Message.

10

Received END CONVERSATION Ack

SQL Server genera una clase de evento Received END CONVERSATION Ack cuando el otro lado de una conversación confirma un mensaje de error o de finalización del diálogo enviado por este lado de la conversación.

11

BEGIN DIALOG

SQL Server genera un evento BEGIN DIALOG cuando el motor de base de datos ejecuta un comando BEGIN DIALOG.

12

Dialog Created

SQL Server genera un evento Dialog Created incluso si Service Broker crea un extremo para un diálogo. Service Broker crea un extremo cada vez que se establece un nuevo diálogo, independientemente de si la base de datos actual es el iniciador o el destino del diálogo.

13

END CONVERSATION WITH CLEANUP

SQL Server genera un evento END CONVERSATION WITH CLEANUP cuando el Database Engine (Motor de base de datos) ejecuta una instrucción END CONVERSATION que incluye la cláusula WITH CLEANUP.