Бөлісу құралы:


Broker:Conversation, класс событий

Область применения: SQL Server Управляемый экземпляр SQL Azure

SQL Server создает событие Broker:Conversation , чтобы сообщить о ходе беседы Service Broker.

Столбцы данных класса событий Broker:Conversation

Столбец данных Тип Описание Column number Доступно для фильтрации
ApplicationName nvarchar Имя клиентского приложения, создавшего подключение к экземпляру SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы. 10 Да
ClientProcessID int Идентификатор, присвоенный компьютером сервера процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент вводит идентификатор клиентского процесса. 9 Да
DatabaseID int Идентификатор базы данных, указанный в инструкции USE database . Идентификатор базы данных по умолчанию, указанный в том случае, если инструкция USE базы данныхне выполнялась. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID . 3 Да
EventClass int Тип захваченного класса событий. Всегда 124 для класса событий Broker:Conversation. 27 No
EventSequence int Порядковый номер этого события. 51 No
EventSubClass nvarchar Тип подкласса события. Предоставляет дополнительные сведения о каждом классе событий. 21 Да
GUID uniqueidentifier Идентификатор диалога. Этот идентификатор передается в составе сообщения и является общим для обоих участников диалога. 54 No
HostName nvarchar Имя компьютера, на котором выполняется клиентская программа. Заполнение этого столбца данных производится в том случае, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME . 8 Да
IsSystem int Указывает, произошло событие в системном или в пользовательском процессе.

0 = пользовательский процесс

1 = системный процесс
60 No
LoginSid Изображение Идентификатор безопасности вошедшего в систему пользователя. Значение идентификатора безопасности уникально для каждого имени входа на сервере. 41 Да
MethodName nvarchar Группа сообщений, которой принадлежит диалог. 47 No
NTDomainName nvarchar Домен Windows, к которому принадлежит пользователь. 7 Да
NTUserName nvarchar Имя пользователя, которому принадлежит соединение, создавшее это событие. 6 Да
ObjectName nvarchar Дескриптор диалога. 34 No
Приоритет int Уровень приоритета диалога 5 Да
RoleName nvarchar Роль дескриптора диалога. Это либо initiator , либо target. 38 No
ServerName nvarchar Имя отслеживаемого экземпляра SQL Server. 26 No
Уровень серьезности int Серьезность ошибки SQL Server, если это событие сообщает об ошибке. 29 No
SPID int Идентификатор процесса сервера, назначенный SQL Server процессу, связанному с клиентом. 12 Да
StartTime datetime Время начала события, если оно доступно. 14 Да
TextData ntext Текущее состояние диалога. Может иметь одно из следующих значений: 1 Да
SO. Запущен на отправку. SQL Server обработал BEGIN CONVERSATION для этой беседы, но сообщения не были отправлены.
SI. Запущен на прием. Другой экземпляр ядро СУБД начал новую беседу с текущим экземпляром, но текущий экземпляр не завершил получение первого сообщения. SQL Server может создать беседу в этом состоянии, если первое сообщение фрагментировано или SQL Server получает сообщения вне порядка. Однако SQL Server может создать беседу в состоянии CO, если первая передача, полученная для беседы, содержит полное первое сообщение.
CO. Ведение диалога. Диалог установлен, и обе стороны диалога могут посылать сообщения. Для обычной службы основная часть обмена данными происходит, когда диалог находится в этом состоянии.
DI. Отключен на прием. Удаленной стороной диалога была выполнена инструкция END CONVERSATION. Состояние диалога остается неизменным до тех пор, пока локальная сторона диалога не выдаст сообщение END CONVERSATION. Приложение может продолжать получать сообщения для диалога. Поскольку удаленная сторона диалога закончила диалог, приложение не может отправлять сообщения в этом диалоге. Когда приложение выполняет инструкцию END CONVERSATION, диалог переходит в закрытое (CD) состояние.
DO. Отключен на отправку. Локальной стороной диалога была выполнена инструкция END CONVERSATION. Состояние диалога остается неизменным до тех пор, пока удаленная часть диалога не подтвердит сообщение END CONVERSATION. Приложение не может отправлять и получать сообщения для диалога. Когда удаленная сторона диалога подтверждает END CONVERSATION, диалог переходит в закрытое (CD) состояние.
ER. Ошибка. В данной конечной точке произошла ошибка. Столбцы Error, Severity и State содержат подробные данные о возникшей ошибке.
CD. Закрытое. Конечная точка диалога больше не используется.
Transaction ID bigint Назначенный системой идентификатор транзакции. 4 No

В представленной ниже таблице перечислены значения подклассов для данного класса событий.

Идентификатор Подкласс Description
1 SEND Message SQL Server создает событие SEND Message, когда ядро СУБД выполняет инструкцию SEND.
2 END CONVERSATION SQL Server создает событие END CONVERSATION, когда ядро СУБД выполняет инструкцию END CONVERSATION, которая не включает предложение WITH ERROR.
3 END CONVERSATION WITH ERROR SQL Server создает событие END CONVERSATION WITH ERROR, когда ядро СУБД выполняет инструкцию END CONVERSATION, содержащую предложение WITH ERROR.
4 Broker Initiated Error SQL Server создает событие ошибки, инициированное брокером, всякий раз, когда компонент Service Broker создает сообщение об ошибке. Например, если компонент Service Broker не может успешно маршрутизировать сообщение для диалогового окна, брокер создает сообщение об ошибке для диалогового окна и создает это событие. SQL Server не создает это событие, когда программа приложения завершает беседу с ошибкой.
5 Terminate Dialog Service Broker завершил диалоговое окно. Service Broker завершает диалоги в ответ на условия, которые препятствуют продолжению диалога, но не являются ошибками или обычным завершением беседы. Например, удаление службы приводит к прекращению всех диалоговых окон для этой службы Service Broker.
6 Received Sequenced Message SQL Server создает класс событий "Получено последовательность сообщений" , когда SQL Server получает сообщение, содержащее порядковый номер сообщения. Все определяемые пользователем типы сообщений являются последовательными. Service Broker создает незасекреченное сообщение в двух случаях:

Сообщения об ошибках, созданные Service Broker, не будут просвечены.

Подтверждения сообщений могут быть непоследовательными. Для повышения эффективности Service Broker включает в себя любое доступное подтверждение в рамках последовательного сообщения. Однако если приложение не отправляет последовательность сообщения в удаленную конечную точку в течение определенного периода времени, компонент Service Broker создает неуправляемое сообщение для подтверждения сообщения.
7 Received END CONVERSATION SQL Server создает событие Receive END CONVERSATION, когда SQL Server получает сообщение о завершении диалога с другой стороны беседы.
8 Received END CONVERSATION WITH ERROR SQL Server создает событие receive END CONVERSATION WITH ERROR , когда SQL Server получает определяемую пользователем ошибку из другой стороны беседы. SQL Server не создает это событие, когда SQL Server получает определяемую брокером ошибку.
9 Received Broker Error Message SQL Server создает событие сообщения об ошибке полученного брокера, когда Компонент Service Broker получает сообщение об ошибке, определяемое брокером, из другой стороны беседы. SQL Server не создает это событие, когда Service Broker получает сообщение об ошибке, созданное приложением.

Например, если текущая база данных содержит маршрут по умолчанию к базе данных пересылки, Service Broker направляет сообщение с неизвестным именем службы в базу данных пересылки. Если база данных пересылки не может определить маршрут для сообщения, посредник в этой базе данных создает сообщение об ошибке и возвращает его в текущую базу данных. Если текущая база данных получает формируемое посредником сообщение об ошибке из базы данных пересылки, текущая база данных формирует событие Received Broker Error Message .
10 Received END CONVERSATION Ack SQL Server создает класс событий Ack received END CONVERSATION, когда другая сторона беседы признает сообщение "Конец" или сообщение об ошибке, отправленное этой стороной беседы.
11 BEGIN DIALOG SQL Server создает событие BEGIN DIALOG, когда ядро СУБД выполняет команду BEGIN DIALOG.
12 Dialog Created SQL Server создает событие создания диалогового окна при создании конечной точки для диалогового окна с помощью компонента Service Broker. Service Broker создает конечную точку всякий раз, когда устанавливается новое диалоговое окно, независимо от того, является ли текущая база данных инициатором или целевым объектом диалогового окна.
13 END CONVERSATION WITH CLEANUP SQL Server создает событие END CONVERSATION WITH CLEANUP, когда ядро СУБД выполняет инструкцию END CONVERSATION, содержащую предложение WITH CLEANUP.

См. также

SQL Server Service Broker