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 del programa que se muestra.

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 en la instrucción USE database o Id. de la base de datos predeterminada si no se emitió ninguna instrucción USE databasepara una instancia determinada. El Analizador de SQL Server muestra el nombre de la base de datos si se captura la columna de datos Server Name en la traza 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, que proporciona más información acerca de cada clase de evento.

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

RoleName

nvarchar

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

38

No

ServerName

nvarchar

Nombre de la instancia de SQL Server de la que se realiza un seguimiento.

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. Una de las siguientes opciones:

  • SO. Salida iniciada. SQL Server procesó una instrucción BEGIN CONVERSATION para esta conversación, pero no se han enviado ningún mensaje.
  • SI. Entrada iniciada. Otra instancia inició una nueva conversación con SQL Server, pero SQL Server no ha recibido completamente el primer mensaje. SQL Server puede crear la conversación en este estado si el primer mensaje está fragmentado o SQL Server recibe mensajes sin orden. Sin embargo, SQL Server puede 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.
  • 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.
  • ER. Error. Se ha producido un error en este extremo. Las columnas Error, Gravedad y Estado 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 presentan los valores de 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 terminó el diálogo. Service Broker termina diálogos como respuesta a condiciones que impiden que el diálogo continúe, pero que no son errores o el fin normal de una conversación. Por ejemplo, quitar un servicio da lugar a que Service Broker termine 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 mensaje 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.
  • Las confirmaciones de mensaje pueden ser sin secuencia. Para lograr una mayor eficacia, Service Broker incluye confirmaciones de mensaje como parte de un mensaje con secuencia siempre que es posible. Sin embargo, si una aplicación no envía un mensaje con secuencia al extremo remoto en un período determinado de tiempo, Service Broker crea un mensaje sin secuencia 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 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 del otro lado de la conversación. Tenga en cuenta que 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 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 cuando Service Broker crea un extremo para un diálogo. Tenga en cuenta que Service Broker crea un extremo siempre 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.

Vea también

Otros recursos

Introducción a Service Broker
Arquitectura de la conversación

Ayuda e información

Obtener ayuda sobre SQL Server 2005