Compartir a través de


Broker:Conversation, clase de eventos

Se aplica a: SQL Server Azure SQL Instancia administrada

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

Columnas de datos de la clase de eventos Broker:Conversation

Columna de datos Tipo Descripción Column number 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 su identificador de proceso. 9
DatabaseID int Id. de la base de datos especificada por la instrucción USE database . Si no se ha emitido ninguna instrucción USE database, el identificador 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 con la función DB_ID . 3
EventClass int Tipo de clase de eventos 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 lo comparten ambas partes 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 averiguar el nombre de host, use 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 generó este evento. 6
ObjectName nvarchar Identificador de conversación del diálogo. 34 No
Prioridad int Nivel de prioridad de la conversación. 5
RoleName nvarchar Rol 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
Gravedad int Gravedad del error de SQL Server, si este evento notifica un error. 29 No
SPID int Identificador de proceso de servidor asignado por SQL Server al proceso asociado al 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. Puede tener uno de los siguientes valores: 1
SO. Salida iniciada. SQL Server procesó una CONVERSACIÓN BEGIN para esta conversación, pero no se han enviado mensajes.
SI. Entrada iniciada. Otra instancia del 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 puede crear la conversación en este estado si el primer mensaje está fragmentado o SQL Server recibe mensajes desordenados. Sin embargo, SQL Server podría crear la conversación en el estado co si la primera transmisión que se recibió para 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).
HACER. 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.
Id. de transacción bigint Identificador 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 eventos.

ID Subclase Descripción
1 SEND Message SQL Server genera un evento SEND Message cuando el Motor de base de datos ejecuta una instrucción SEND.
2 FINALIZAR CONVERSACIÓN SQL Server genera un evento END CONVERSATION cuando el 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 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 de error iniciado por Broker cada vez que Service Broker crea un mensaje de error. Por ejemplo, cuando Service Broker no puede enrutar correctamente un mensaje para un cuadro de diálogo, el agente crea un mensaje de error para el diálogo y genera este evento. SQL Server no genera este evento cuando un programa de aplicación finaliza una conversación con un error.
5 Terminate Dialog Service Broker finalizó el cuadro de diálogo. Service Broker finaliza los diálogos en respuesta a las condiciones que impiden que el diálogo continúe, pero que no son errores ni el final normal de una conversación. Por ejemplo, quitar un servicio hace que Service Broker finalice todos los diálogos de ese servicio.
6 Received Sequenced Message SQL Server genera una clase de eventos Received Sequenced Message cuando SQL Server recibe un mensaje que contiene un número de secuencia de mensajes. Todos los tipos de mensaje definidos por el usuario son mensajes en secuencia. Service Broker genera un mensaje sin poner en cola en dos casos:

Los mensajes de error generados por Service Broker no se encuentran en la cola.

Los reconocimientos de mensajes pueden ser sin secuencia. Para mejorar la eficacia, Service Broker incluye cualquier confirmación disponible como parte de un mensaje secuenciado . Sin embargo, si una aplicación no envía un mensaje secuenciado al punto de conexión remoto dentro de un determinado período de tiempo, Service Broker crea un mensaje sin poner en cola para la confirmación del mensaje.
7 Received END CONVERSATION SQL Server genera un evento RECEIVED END CONVERSATION cuando SQL Server recibe un mensaje de cuadro de diálogo final 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 del otro lado de la conversación. SQL Server no genera este evento cuando SQL Server recibe un error definido por el agente.
9 Received Broker Error Message SQL Server genera un evento de mensaje de error del Agente recibido cuando Service Broker recibe un mensaje de error definido por el agente 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 agente 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 agente 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 eventos RECEIVED END CONVERSATION Ack cuando el otro lado de una conversación reconoce un cuadro de diálogo final o un mensaje de error 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 cuando Service Broker crea un punto de conexión para un cuadro de diálogo. Service Broker crea un punto de conexión cada vez que se establece un diálogo nuevo, independientemente de si la base de datos actual es el iniciador o el destino del cuadro de diálogo.
13 END CONVERSATION WITH CLEANUP SQL Server genera un evento END CONVERSATION WITH CLEANUP cuando el Motor de base de datos ejecuta una instrucción END CONVERSATION que incluye la cláusula WITH CLEANUP.

Consulte también

SQL Server Service Broker