powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Service Broker для репликации
179 сообщений из 179, показаны все 8 страниц
Service Broker для репликации
    #39946380
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть 2 разных сервера,оба на линуксе

Необходимо настроить между ними обмен сообщениями путем брокера.
Оба сервера Developer's edition

Сделал по статье
https://www.sql.ru/forum/1284421-1/kak-obnaruzhit-oshibku-pri-rabote-service-broker

В итоге посылаю в очередь
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE @h UNIQUEIDENTIFIER;
BEGIN DIALOG CONVERSATION @h
FROM SERVICE Service1 TO SERVICE 'Service2'
ON CONTRACT DemoContract
WITH ENCRYPTION = OFF;
SEND ON CONVERSATION @h MESSAGE TYPE
DemoMessageType ('test message from server 1');
END CONVERSATION @h;


Но на другом сервере не могу извлечь..
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DECLARE @h UNIQUEIDENTIFIER, @msg VARCHAR(MAX);
BEGIN TRANSACTION;
 WAITFOR (
 RECEIVE TOP (1) @h = [conversation_handle]
 , @msg = TRY_CONVERT(varchar, [message_body])
 FROM [Queue2]
 ), TIMEOUT 1000
 IF @@ROWCOUNT <= 0 BEGIN
 PRINT 'No messages'
 ROLLBACK TRANSACTION;
 RETURN;
 END;
 PRINT @msg
 END CONVERSATION @h;
COMMIT TRANSACTION;

(затронуто строк: 0)
No messages


Подскажите,кто может..в чем ошибка?Почему я не вижу отправленного сообщения?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946413
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Вы проверяли содержимое sys.transmission_queue на обоих серверах?

Ну и конечно sys.conversation_endpoints, чтоб 2 раза не вставать.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946418
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael
Максим Александровитч,

Вы проверяли содержимое sys.transmission_queue на обоих серверах?

Ну и конечно sys.conversation_endpoints, чтоб 2 раза не вставать.


Хм..пусто
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946473
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,


добрый день, я в том топике описывал шаги для первичной диагностики. выполнили их?

если не видете сообщений в очереди то проверьте
а) sys.databases на наличие is_broker_enabled
б) на сервере источнике sys.transmission_queue
в) саму очередь отправки на наличие сообщений

в каком либо из шагов будет информация о ошибке.
еще sys.dm_broker_connections на установление вероятной ошибки транспорта
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946475
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Ennor Tiegael
Максим Александровитч,

Вы проверяли содержимое sys.transmission_queue на обоих серверах?

Ну и конечно sys.conversation_endpoints, чтоб 2 раза не вставать.


Хм..пусто
Т.е. вы выполняете BEGIN DIALOG, после чего шлете в него сообщение, и у вас нет ни ошибок, ни записей в sys.conversation_endpoints? Убедитесь, что смотрите в контексте правильной БД, и что вы sysadmin.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946485
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael
Максим Александровитч
пропущено...


Хм..пусто
Т.е. вы выполняете BEGIN DIALOG, после чего шлете в него сообщение, и у вас нет ни ошибок, ни записей в sys.conversation_endpoints? Убедитесь, что смотрите в контексте правильной БД, и что вы sysadmin.


Я скажу,более,я только что создал эти БД..
Смотрю,разумеется в контексте нужной и конечно я админ..
Есть ли еще какие-то решения на эту тему?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946491
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,


добрый день, я в том топике описывал шаги для первичной диагностики. выполнили их?

если не видете сообщений в очереди то проверьте
а) sys.databases на наличие is_broker_enabled
б) на сервере источнике sys.transmission_queue
в) саму очередь отправки на наличие сообщений

в каком либо из шагов будет информация о ошибке.
еще sys.dm_broker_connections на установление вероятной ошибки транспорта



а) sys.databases на наличие is_broker_enabled - да,включен
б)В очереди передачи есть строки,есть to_service_name,но нет поля to_broker_instance пустые.
Message_body заполнено.
Тут

select *
from sys.conversation_endpoints
Статус Do
На что обратить внимание?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946508
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Упс...
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946511
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Тут

select *
from sys.conversation_endpoints
Статус Do
Уже лучше, однако: https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-conversation-endpoints-transact-sql 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 cannot send or receive messages for the conversation. When the remote side of the conversation acknowledges the END CONVERSATION, the conversation moves to the CD (Closed) state.Я правильно понимаю, что вы отправляете сообщение в диалог и тут же делаете ему END CONVERSATION? Не делайте так, никогда. Если вы хотите закрывать диалоги, то сей процесс должен инициироваться получателем, только после того, как тот получил все, что хотел. После этого инициатор получает на своей стороне системное сообщение EndDialog и закрывает диалог у себя.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946522
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael
Максим Александровитч
Тут

select *
from sys.conversation_endpoints
Статус Do
Уже лучше, однако: https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-conversation-endpoints-transact-sql 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 cannot send or receive messages for the conversation. When the remote side of the conversation acknowledges the END CONVERSATION, the conversation moves to the CD (Closed) state.
Я правильно понимаю, что вы отправляете сообщение в диалог и тут же делаете ему END CONVERSATION? Не делайте так, никогда. Если вы хотите закрывать диалоги, то сей процесс должен инициироваться получателем, только после того, как тот получил все, что хотел. После этого инициатор получает на своей стороне системное сообщение EndDialog и закрывает диалог у себя.

Так..да,вижу что делал
END CONVERSATION @h;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946523
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Ennor Tiegael
пропущено...
Уже лучше, однако:пропущено...
Я правильно понимаю, что вы отправляете сообщение в диалог и тут же делаете ему END CONVERSATION? Не делайте так, никогда. Если вы хотите закрывать диалоги, то сей процесс должен инициироваться получателем, только после того, как тот получил все, что хотел. После этого инициатор получает на своей стороне системное сообщение EndDialog и закрывает диалог у себя.


Так..да,вижу что делал
END CONVERSATION @h;


так перешел в стадию CO
state_desc = conversion
Но на получаетеле,все равно нет
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946540
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael,

Код: sql
1.
Я правильно понимаю, что вы отправляете сообщение в диалог и тут же делаете ему END CONVERSATION? Не делайте так, никогда.



Не совсем верно, если передача предполагается в одностороннем порядке, то нарушений логики или требований документации в этом нет. Передающий сторона выполняет два действия. Первое - отправляет "полезное" сообщение, второе, при закрытии диалога, автоматически отправляет системное сообщение [ http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog%5D]http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog] и закрывает диалог со своей стороны. Принимающая сторона должна обработать оба типа сообщения и, при получении сообщения с типом EndDialog закрыть диалог на своей стороне.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946541
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Копайте sys.transmission_queue на обоих концах диалога, и также загляните в логи серверов. Не уверен насчет последних версий, но раньше ошибки транспортного уровня протоколировались там.

А, ну и вам уже советовали sys.dm_broker_connections
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946544
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Не совсем верно, если передача предполагается в одностороннем порядке, то нарушений логики или требований документации в этом нет.
Читайте до полного понимания - https://rusanu.com/2014/03/31/how-to-prevent-conversation-endpoint-leaks/
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946547
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

Я знаю, что обычно односторонняя отправка работает нормально, но в ранних версиях, на 2005 в частности, это иногда приводило к проблемам. Каким именно, сейчас боюсь уже не вспомню, за давностью лет.

ЗЫ Вот и дядюшка Римус тоже не рекомендует :авторThe fire-and-forget message exchange pattern is all too compelling, but it is riddled with problems. Ending the conversation from the target side is a much better approach.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946550
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все здорово,у вас дискуссия.
Так мне-то куда копать?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946555
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

В профайлере есть категория событий "Service Broker". Настройте трассу и мониторьте происходящее.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946561
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также имеется консольный вариант монитора за процессами брокера и средство диагностики. Курите мануалы. Может на линуксе это вообще не работает.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946570
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Также имеется консольный вариант монитора за процессами брокера и средство диагностики. Курите мануалы. Может на линуксе это вообще не работает.


А как понять что не работает на линуксе-то?
Я положил в канал,вижу что ждет обработки.
А есть метод реализации не на сертификате?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946573
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

у MS было где-то написано, что не работает на Линуксе. На странице скачивания, что ли. Не припомню, чтобы были ограничения на межсерверный брокер, но это не достоверно.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946576
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Максим Александровитч,

у MS было где-то написано, что не работает на Линуксе. На странице скачивания, что ли. Не припомню, чтобы были ограничения на межсерверный брокер, но это не достоверно.



Речь про Express версию..
И то он может работать как приемник
У меня Developers edition
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946687
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

линуксовой версии под рукой нет, поэтому со стопроцентной гарантией утверждать не могу.

вы когда открыли диалог и отправили сообщение получателю покажите:
Код: sql
1.
2.
--на сервере источнике
select * from sys.dm_broker_connections


Код: sql
1.
2.
--на сервере получателе
select * from sys.dm_broker_connections




Код: sql
1.
2.
3.
--на сервере источнике:
use [source_db_name] --заменить на имя своей базы источника
select * from sys.transmission_queue;



Код: sql
1.
2.
3.
--на сервере получателе:
use msdb;
select * from sys.tranmission_queue;



add:
Код: sql
1.
2.
bla bla bla
end conversation @h;


так не делайте. по крайней мере сразу пока не оттестировали все возможные вариации отправки и обработки ошибок.
это плохая практика, вы потеряете сообщение об ошибке со стороны таргета если оно будет.

адд2:
а еще забыл:
Код: sql
1.
2.
--на обоих инстансах
select * from sys.routes
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946688
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

линуксовой версии под рукой нет, поэтому со стопроцентной гарантией утверждать не могу.

вы когда открыли диалог и отправили сообщение получателю покажите:
Код: sql
1.
2.
3.
--на сервере источнике
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?


Код: sql
1.
2.
3.
--на сервере получателе
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?




Код: sql
1.
2.
3.
4.
--на сервере источнике:
use [source_db_name] --заменить на имя своей базы источника
select * from sys.transmission_queue;
Там табла большая..что конкретное может выложить?



Код: sql
1.
2.
3.
4.
--на сервере получателе:
use msdb;
select * from sys.tranmission_queue;
Пусто



add:
Код: sql
1.
2.
3.
4.
bla bla bla
end conversation @h;

Понял


так не делайте. по крайней мере сразу пока не оттестировали все возможные вариации отправки и обработки ошибок.
это плохая практика, вы потеряете сообщение об ошибке со стороны таргета если оно будет.

адд2:
а еще забыл:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
--на обоих инстансах
select * from sys.routes

Получатель
name	route_id	principal_id	remote_service_name	broker_instance	lifetime	address	mirror_address
Service1Route	65537	1	Service1	C686869B-CA80-42BA-AC37-ECF57495DCDD	NULL	TCP://10.0.40.49:4022	NULL

Иницииатор
name	route_id	principal_id	remote_service_name	broker_instance	lifetime	address
Service2Route	65537	1	Service2	6644E17A-9898-4461-AF45-6F4F770F79F5	NULL	TCP://10.0.40.248:4022

...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946690
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Код: sql
1.
2.
3.
на сервере источнике: 
cmd =>
telnet 10.0.40.248 4022



Код: sql
1.
2.
3.
на сервере получателе:
cmd =>
telnet 10.0.40.49 4022



телнет проходит?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946692
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

линуксовой версии под рукой нет, поэтому со стопроцентной гарантией утверждать не могу.

вы когда открыли диалог и отправили сообщение получателю покажите:
--на сервере источнике
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?

--на сервере получателе
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?



--на сервере источнике:
use [source_db_name] --заменить на имя своей базы источника
select * from sys.transmission_queue;
Там табла большая..что конкретное может выложить?



конкретно у вас есть conversation_handle сохраненный в переменной @h при открытии диалога.
найдите по нему в sys.transmission_queue источника сообщение и покажите его текст
Код: sql
1.
select try_cast(message_body as xml), transmission_status from sys.transmission_queue where conversation_handle = @h;




в dm_broker_connections нас интересует несколько последних открытых соединений их статус:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select top (10) 
state_desc,
connect_time,
authentication_method,
principal_name,
remote_user_name,
login_state,
is_accept,
sends_posted,
total_sends
from sys.dm_broker_connections 
where is_accept = 0
order by connect_time desc
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946697
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ай да, у вас же линукс

чем там обычно порты на доступность проверяют?
nmap какой нибудь или nc
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946703
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
felix_ff
Максим Александровитч,

линуксовой версии под рукой нет, поэтому со стопроцентной гарантией утверждать не могу.

вы когда открыли диалог и отправили сообщение получателю покажите:
--на сервере источнике
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?

--на сервере получателе
select * from sys.dm_broker_connections
Там табла большая..что конкретное может выложить?



--на сервере источнике:
use [source_db_name] --заменить на имя своей базы источника
select * from sys.transmission_queue;
Там табла большая..что конкретное может выложить?



конкретно у вас есть conversation_handle сохраненный в переменной @h при открытии диалога.
найдите по нему в sys.transmission_queue источника сообщение и покажите его текст
Код: sql
1.
2.
3.
4.
select try_cast(message_body as xml), transmission_status from sys.transmission_queue where conversation_handle = @h;

Сообщение то,которое послал
test message from server 1




в dm_broker_connections нас интересует несколько последних открытых соединений их статус:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
select top (10) 
state_desc,
connect_time,
authentication_method,
principal_name,
remote_user_name,
login_state,
is_accept,
sends_posted,
total_sends
from sys.dm_broker_connections 
where is_accept = 0
order by connect_time desc


state_desc	connect_time	authentication_method	principal_name	remote_user_name	login_state	is_accept	sends_posted	total_sends
LOGGED IN	2020-04-13 15:22:13.403	Microsoft Unified Security Proto	public	NULL	12	0	0	10
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946708
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

ок, допустим физическое соединение проходит, хотя оно у вас настроенно под анонимную аутентификацию.

но обратим внимание на sys.transmission_queue
если в теле сообщения ваш исходный текст, то вы не привели что написанно в столбце transmission_status
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946709
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Там пусто..
А как вы поняли что соединение прошло?
Я вот через SQLCMD вижу да 1 сервер 2 и 2-й..
Порты вроде открыты 4022 на обоих
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946711
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

sys.dm_broker_connections => login_state = 12
если вы конечно правильно идентифицировали нужную строку.

ок давайте проще:
trace

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 5 

exec @rc = sp_trace_create @TraceID output, 0, N'C:\temp\BROKER_EVENTS.trc', @maxfilesize, NULL 
if (@rc != 0) goto error

declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 163, 1, @on
exec sp_trace_setevent @TraceID, 163, 9, @on
exec sp_trace_setevent @TraceID, 163, 3, @on
exec sp_trace_setevent @TraceID, 163, 12, @on
exec sp_trace_setevent @TraceID, 163, 6, @on
exec sp_trace_setevent @TraceID, 163, 7, @on
exec sp_trace_setevent @TraceID, 163, 8, @on
exec sp_trace_setevent @TraceID, 163, 10, @on
exec sp_trace_setevent @TraceID, 163, 21, @on
exec sp_trace_setevent @TraceID, 163, 25, @on
exec sp_trace_setevent @TraceID, 163, 26, @on
exec sp_trace_setevent @TraceID, 163, 51, @on
exec sp_trace_setevent @TraceID, 163, 60, @on
exec sp_trace_setevent @TraceID, 163, 64, @on
exec sp_trace_setevent @TraceID, 138, 1, @on
exec sp_trace_setevent @TraceID, 138, 9, @on
exec sp_trace_setevent @TraceID, 138, 3, @on
exec sp_trace_setevent @TraceID, 138, 12, @on
exec sp_trace_setevent @TraceID, 138, 6, @on
exec sp_trace_setevent @TraceID, 138, 7, @on
exec sp_trace_setevent @TraceID, 138, 8, @on
exec sp_trace_setevent @TraceID, 138, 10, @on
exec sp_trace_setevent @TraceID, 138, 21, @on
exec sp_trace_setevent @TraceID, 138, 26, @on
exec sp_trace_setevent @TraceID, 138, 31, @on
exec sp_trace_setevent @TraceID, 138, 34, @on
exec sp_trace_setevent @TraceID, 138, 51, @on
exec sp_trace_setevent @TraceID, 138, 54, @on
exec sp_trace_setevent @TraceID, 138, 60, @on
exec sp_trace_setevent @TraceID, 138, 64, @on
exec sp_trace_setevent @TraceID, 124, 1, @on
exec sp_trace_setevent @TraceID, 124, 9, @on
exec sp_trace_setevent @TraceID, 124, 3, @on
exec sp_trace_setevent @TraceID, 124, 5, @on
exec sp_trace_setevent @TraceID, 124, 6, @on
exec sp_trace_setevent @TraceID, 124, 7, @on
exec sp_trace_setevent @TraceID, 124, 8, @on
exec sp_trace_setevent @TraceID, 124, 10, @on
exec sp_trace_setevent @TraceID, 124, 12, @on
exec sp_trace_setevent @TraceID, 124, 21, @on
exec sp_trace_setevent @TraceID, 124, 26, @on
exec sp_trace_setevent @TraceID, 124, 34, @on
exec sp_trace_setevent @TraceID, 124, 36, @on
exec sp_trace_setevent @TraceID, 124, 37, @on
exec sp_trace_setevent @TraceID, 124, 38, @on
exec sp_trace_setevent @TraceID, 124, 39, @on
exec sp_trace_setevent @TraceID, 124, 40, @on
exec sp_trace_setevent @TraceID, 124, 42, @on
exec sp_trace_setevent @TraceID, 124, 46, @on
exec sp_trace_setevent @TraceID, 124, 47, @on
exec sp_trace_setevent @TraceID, 124, 51, @on
exec sp_trace_setevent @TraceID, 124, 54, @on
exec sp_trace_setevent @TraceID, 124, 60, @on
exec sp_trace_setevent @TraceID, 124, 64, @on
exec sp_trace_setevent @TraceID, 141, 1, @on
exec sp_trace_setevent @TraceID, 141, 9, @on
exec sp_trace_setevent @TraceID, 141, 3, @on
exec sp_trace_setevent @TraceID, 141, 12, @on
exec sp_trace_setevent @TraceID, 141, 6, @on
exec sp_trace_setevent @TraceID, 141, 7, @on
exec sp_trace_setevent @TraceID, 141, 8, @on
exec sp_trace_setevent @TraceID, 141, 10, @on
exec sp_trace_setevent @TraceID, 141, 21, @on
exec sp_trace_setevent @TraceID, 141, 26, @on
exec sp_trace_setevent @TraceID, 141, 31, @on
exec sp_trace_setevent @TraceID, 141, 36, @on
exec sp_trace_setevent @TraceID, 141, 37, @on
exec sp_trace_setevent @TraceID, 141, 38, @on
exec sp_trace_setevent @TraceID, 141, 45, @on
exec sp_trace_setevent @TraceID, 141, 47, @on
exec sp_trace_setevent @TraceID, 141, 51, @on
exec sp_trace_setevent @TraceID, 141, 54, @on
exec sp_trace_setevent @TraceID, 141, 59, @on
exec sp_trace_setevent @TraceID, 141, 60, @on
exec sp_trace_setevent @TraceID, 141, 64, @on
exec sp_trace_setevent @TraceID, 160, 1, @on
exec sp_trace_setevent @TraceID, 160, 9, @on
exec sp_trace_setevent @TraceID, 160, 3, @on
exec sp_trace_setevent @TraceID, 160, 6, @on
exec sp_trace_setevent @TraceID, 160, 7, @on
exec sp_trace_setevent @TraceID, 160, 8, @on
exec sp_trace_setevent @TraceID, 160, 10, @on
exec sp_trace_setevent @TraceID, 160, 12, @on
exec sp_trace_setevent @TraceID, 160, 21, @on
exec sp_trace_setevent @TraceID, 160, 25, @on
exec sp_trace_setevent @TraceID, 160, 26, @on
exec sp_trace_setevent @TraceID, 160, 31, @on
exec sp_trace_setevent @TraceID, 160, 36, @on
exec sp_trace_setevent @TraceID, 160, 37, @on
exec sp_trace_setevent @TraceID, 160, 38, @on
exec sp_trace_setevent @TraceID, 160, 39, @on
exec sp_trace_setevent @TraceID, 160, 40, @on
exec sp_trace_setevent @TraceID, 160, 42, @on
exec sp_trace_setevent @TraceID, 160, 46, @on
exec sp_trace_setevent @TraceID, 160, 51, @on
exec sp_trace_setevent @TraceID, 160, 54, @on
exec sp_trace_setevent @TraceID, 160, 60, @on
exec sp_trace_setevent @TraceID, 160, 64, @on
exec sp_trace_setevent @TraceID, 143, 3, @on
exec sp_trace_setevent @TraceID, 143, 12, @on
exec sp_trace_setevent @TraceID, 143, 6, @on
exec sp_trace_setevent @TraceID, 143, 7, @on
exec sp_trace_setevent @TraceID, 143, 8, @on
exec sp_trace_setevent @TraceID, 143, 9, @on
exec sp_trace_setevent @TraceID, 143, 10, @on
exec sp_trace_setevent @TraceID, 143, 26, @on
exec sp_trace_setevent @TraceID, 143, 51, @on
exec sp_trace_setevent @TraceID, 143, 60, @on
exec sp_trace_setevent @TraceID, 143, 64, @on
exec sp_trace_setevent @TraceID, 149, 3, @on
exec sp_trace_setevent @TraceID, 149, 12, @on
exec sp_trace_setevent @TraceID, 149, 5, @on
exec sp_trace_setevent @TraceID, 149, 6, @on
exec sp_trace_setevent @TraceID, 149, 7, @on
exec sp_trace_setevent @TraceID, 149, 8, @on
exec sp_trace_setevent @TraceID, 149, 9, @on
exec sp_trace_setevent @TraceID, 149, 10, @on
exec sp_trace_setevent @TraceID, 149, 21, @on
exec sp_trace_setevent @TraceID, 149, 25, @on
exec sp_trace_setevent @TraceID, 149, 26, @on
exec sp_trace_setevent @TraceID, 149, 38, @on
exec sp_trace_setevent @TraceID, 149, 51, @on
exec sp_trace_setevent @TraceID, 149, 54, @on
exec sp_trace_setevent @TraceID, 149, 60, @on
exec sp_trace_setevent @TraceID, 149, 64, @on
exec sp_trace_setevent @TraceID, 142, 3, @on
exec sp_trace_setevent @TraceID, 142, 12, @on
exec sp_trace_setevent @TraceID, 142, 6, @on
exec sp_trace_setevent @TraceID, 142, 7, @on
exec sp_trace_setevent @TraceID, 142, 8, @on
exec sp_trace_setevent @TraceID, 142, 9, @on
exec sp_trace_setevent @TraceID, 142, 10, @on
exec sp_trace_setevent @TraceID, 142, 21, @on
exec sp_trace_setevent @TraceID, 142, 26, @on
exec sp_trace_setevent @TraceID, 142, 31, @on
exec sp_trace_setevent @TraceID, 142, 38, @on
exec sp_trace_setevent @TraceID, 142, 51, @on
exec sp_trace_setevent @TraceID, 142, 54, @on
exec sp_trace_setevent @TraceID, 142, 60, @on
exec sp_trace_setevent @TraceID, 142, 64, @on
exec sp_trace_setevent @TraceID, 158, 1, @on
exec sp_trace_setevent @TraceID, 158, 9, @on
exec sp_trace_setevent @TraceID, 158, 3, @on
exec sp_trace_setevent @TraceID, 158, 12, @on
exec sp_trace_setevent @TraceID, 158, 6, @on
exec sp_trace_setevent @TraceID, 158, 7, @on
exec sp_trace_setevent @TraceID, 158, 8, @on
exec sp_trace_setevent @TraceID, 158, 10, @on
exec sp_trace_setevent @TraceID, 158, 21, @on
exec sp_trace_setevent @TraceID, 158, 25, @on
exec sp_trace_setevent @TraceID, 158, 26, @on
exec sp_trace_setevent @TraceID, 158, 31, @on
exec sp_trace_setevent @TraceID, 158, 38, @on
exec sp_trace_setevent @TraceID, 158, 40, @on
exec sp_trace_setevent @TraceID, 158, 42, @on
exec sp_trace_setevent @TraceID, 158, 51, @on
exec sp_trace_setevent @TraceID, 158, 54, @on
exec sp_trace_setevent @TraceID, 158, 60, @on
exec sp_trace_setevent @TraceID, 158, 64, @on
exec sp_trace_setevent @TraceID, 159, 1, @on
exec sp_trace_setevent @TraceID, 159, 9, @on
exec sp_trace_setevent @TraceID, 159, 3, @on
exec sp_trace_setevent @TraceID, 159, 11, @on
exec sp_trace_setevent @TraceID, 159, 6, @on
exec sp_trace_setevent @TraceID, 159, 7, @on
exec sp_trace_setevent @TraceID, 159, 8, @on
exec sp_trace_setevent @TraceID, 159, 10, @on
exec sp_trace_setevent @TraceID, 159, 12, @on
exec sp_trace_setevent @TraceID, 159, 21, @on
exec sp_trace_setevent @TraceID, 159, 26, @on
exec sp_trace_setevent @TraceID, 159, 30, @on
exec sp_trace_setevent @TraceID, 159, 34, @on
exec sp_trace_setevent @TraceID, 159, 36, @on
exec sp_trace_setevent @TraceID, 159, 37, @on
exec sp_trace_setevent @TraceID, 159, 38, @on
exec sp_trace_setevent @TraceID, 159, 39, @on
exec sp_trace_setevent @TraceID, 159, 41, @on
exec sp_trace_setevent @TraceID, 159, 46, @on
exec sp_trace_setevent @TraceID, 159, 51, @on
exec sp_trace_setevent @TraceID, 159, 54, @on
exec sp_trace_setevent @TraceID, 159, 60, @on
exec sp_trace_setevent @TraceID, 159, 64, @on


declare @intfilter int
declare @bigintfilter bigint

exec sp_trace_setfilter @TraceID, 10, 0, 7, N'Приложение SQL Server Profiler%'
exec sp_trace_setstatus @TraceID, 1

select TraceID=@TraceID
goto finish

error: 
select ErrorCode=@rc

finish: 
go

/* запустить после того как отправите сообщения в очередь
exec sp_trace_setstatus <ИД Трассы>, 0
exec sp_trace_setstatus <ИД Трассы>, 2
*/




этот скрипт создаст трассу на события брокера, появится файлик C:\temp\BROKER_EVENTS.trc
прикрипите его сюда.
единственное может нужно подкорректировать путь для выходново файла под файловую систему линуха.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946731
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

sys.dm_broker_connections => login_state = 12
если вы конечно правильно идентифицировали нужную строку.

ок давайте проще:
trace

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 5 

exec @rc = sp_trace_create @TraceID output, 0, N'C:\temp\BROKER_EVENTS.trc', @maxfilesize, NULL 
if (@rc != 0) goto error

declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 163, 1, @on
exec sp_trace_setevent @TraceID, 163, 9, @on
exec sp_trace_setevent @TraceID, 163, 3, @on
exec sp_trace_setevent @TraceID, 163, 12, @on
exec sp_trace_setevent @TraceID, 163, 6, @on
exec sp_trace_setevent @TraceID, 163, 7, @on
exec sp_trace_setevent @TraceID, 163, 8, @on
exec sp_trace_setevent @TraceID, 163, 10, @on
exec sp_trace_setevent @TraceID, 163, 21, @on
exec sp_trace_setevent @TraceID, 163, 25, @on
exec sp_trace_setevent @TraceID, 163, 26, @on
exec sp_trace_setevent @TraceID, 163, 51, @on
exec sp_trace_setevent @TraceID, 163, 60, @on
exec sp_trace_setevent @TraceID, 163, 64, @on
exec sp_trace_setevent @TraceID, 138, 1, @on
exec sp_trace_setevent @TraceID, 138, 9, @on
exec sp_trace_setevent @TraceID, 138, 3, @on
exec sp_trace_setevent @TraceID, 138, 12, @on
exec sp_trace_setevent @TraceID, 138, 6, @on
exec sp_trace_setevent @TraceID, 138, 7, @on
exec sp_trace_setevent @TraceID, 138, 8, @on
exec sp_trace_setevent @TraceID, 138, 10, @on
exec sp_trace_setevent @TraceID, 138, 21, @on
exec sp_trace_setevent @TraceID, 138, 26, @on
exec sp_trace_setevent @TraceID, 138, 31, @on
exec sp_trace_setevent @TraceID, 138, 34, @on
exec sp_trace_setevent @TraceID, 138, 51, @on
exec sp_trace_setevent @TraceID, 138, 54, @on
exec sp_trace_setevent @TraceID, 138, 60, @on
exec sp_trace_setevent @TraceID, 138, 64, @on
exec sp_trace_setevent @TraceID, 124, 1, @on
exec sp_trace_setevent @TraceID, 124, 9, @on
exec sp_trace_setevent @TraceID, 124, 3, @on
exec sp_trace_setevent @TraceID, 124, 5, @on
exec sp_trace_setevent @TraceID, 124, 6, @on
exec sp_trace_setevent @TraceID, 124, 7, @on
exec sp_trace_setevent @TraceID, 124, 8, @on
exec sp_trace_setevent @TraceID, 124, 10, @on
exec sp_trace_setevent @TraceID, 124, 12, @on
exec sp_trace_setevent @TraceID, 124, 21, @on
exec sp_trace_setevent @TraceID, 124, 26, @on
exec sp_trace_setevent @TraceID, 124, 34, @on
exec sp_trace_setevent @TraceID, 124, 36, @on
exec sp_trace_setevent @TraceID, 124, 37, @on
exec sp_trace_setevent @TraceID, 124, 38, @on
exec sp_trace_setevent @TraceID, 124, 39, @on
exec sp_trace_setevent @TraceID, 124, 40, @on
exec sp_trace_setevent @TraceID, 124, 42, @on
exec sp_trace_setevent @TraceID, 124, 46, @on
exec sp_trace_setevent @TraceID, 124, 47, @on
exec sp_trace_setevent @TraceID, 124, 51, @on
exec sp_trace_setevent @TraceID, 124, 54, @on
exec sp_trace_setevent @TraceID, 124, 60, @on
exec sp_trace_setevent @TraceID, 124, 64, @on
exec sp_trace_setevent @TraceID, 141, 1, @on
exec sp_trace_setevent @TraceID, 141, 9, @on
exec sp_trace_setevent @TraceID, 141, 3, @on
exec sp_trace_setevent @TraceID, 141, 12, @on
exec sp_trace_setevent @TraceID, 141, 6, @on
exec sp_trace_setevent @TraceID, 141, 7, @on
exec sp_trace_setevent @TraceID, 141, 8, @on
exec sp_trace_setevent @TraceID, 141, 10, @on
exec sp_trace_setevent @TraceID, 141, 21, @on
exec sp_trace_setevent @TraceID, 141, 26, @on
exec sp_trace_setevent @TraceID, 141, 31, @on
exec sp_trace_setevent @TraceID, 141, 36, @on
exec sp_trace_setevent @TraceID, 141, 37, @on
exec sp_trace_setevent @TraceID, 141, 38, @on
exec sp_trace_setevent @TraceID, 141, 45, @on
exec sp_trace_setevent @TraceID, 141, 47, @on
exec sp_trace_setevent @TraceID, 141, 51, @on
exec sp_trace_setevent @TraceID, 141, 54, @on
exec sp_trace_setevent @TraceID, 141, 59, @on
exec sp_trace_setevent @TraceID, 141, 60, @on
exec sp_trace_setevent @TraceID, 141, 64, @on
exec sp_trace_setevent @TraceID, 160, 1, @on
exec sp_trace_setevent @TraceID, 160, 9, @on
exec sp_trace_setevent @TraceID, 160, 3, @on
exec sp_trace_setevent @TraceID, 160, 6, @on
exec sp_trace_setevent @TraceID, 160, 7, @on
exec sp_trace_setevent @TraceID, 160, 8, @on
exec sp_trace_setevent @TraceID, 160, 10, @on
exec sp_trace_setevent @TraceID, 160, 12, @on
exec sp_trace_setevent @TraceID, 160, 21, @on
exec sp_trace_setevent @TraceID, 160, 25, @on
exec sp_trace_setevent @TraceID, 160, 26, @on
exec sp_trace_setevent @TraceID, 160, 31, @on
exec sp_trace_setevent @TraceID, 160, 36, @on
exec sp_trace_setevent @TraceID, 160, 37, @on
exec sp_trace_setevent @TraceID, 160, 38, @on
exec sp_trace_setevent @TraceID, 160, 39, @on
exec sp_trace_setevent @TraceID, 160, 40, @on
exec sp_trace_setevent @TraceID, 160, 42, @on
exec sp_trace_setevent @TraceID, 160, 46, @on
exec sp_trace_setevent @TraceID, 160, 51, @on
exec sp_trace_setevent @TraceID, 160, 54, @on
exec sp_trace_setevent @TraceID, 160, 60, @on
exec sp_trace_setevent @TraceID, 160, 64, @on
exec sp_trace_setevent @TraceID, 143, 3, @on
exec sp_trace_setevent @TraceID, 143, 12, @on
exec sp_trace_setevent @TraceID, 143, 6, @on
exec sp_trace_setevent @TraceID, 143, 7, @on
exec sp_trace_setevent @TraceID, 143, 8, @on
exec sp_trace_setevent @TraceID, 143, 9, @on
exec sp_trace_setevent @TraceID, 143, 10, @on
exec sp_trace_setevent @TraceID, 143, 26, @on
exec sp_trace_setevent @TraceID, 143, 51, @on
exec sp_trace_setevent @TraceID, 143, 60, @on
exec sp_trace_setevent @TraceID, 143, 64, @on
exec sp_trace_setevent @TraceID, 149, 3, @on
exec sp_trace_setevent @TraceID, 149, 12, @on
exec sp_trace_setevent @TraceID, 149, 5, @on
exec sp_trace_setevent @TraceID, 149, 6, @on
exec sp_trace_setevent @TraceID, 149, 7, @on
exec sp_trace_setevent @TraceID, 149, 8, @on
exec sp_trace_setevent @TraceID, 149, 9, @on
exec sp_trace_setevent @TraceID, 149, 10, @on
exec sp_trace_setevent @TraceID, 149, 21, @on
exec sp_trace_setevent @TraceID, 149, 25, @on
exec sp_trace_setevent @TraceID, 149, 26, @on
exec sp_trace_setevent @TraceID, 149, 38, @on
exec sp_trace_setevent @TraceID, 149, 51, @on
exec sp_trace_setevent @TraceID, 149, 54, @on
exec sp_trace_setevent @TraceID, 149, 60, @on
exec sp_trace_setevent @TraceID, 149, 64, @on
exec sp_trace_setevent @TraceID, 142, 3, @on
exec sp_trace_setevent @TraceID, 142, 12, @on
exec sp_trace_setevent @TraceID, 142, 6, @on
exec sp_trace_setevent @TraceID, 142, 7, @on
exec sp_trace_setevent @TraceID, 142, 8, @on
exec sp_trace_setevent @TraceID, 142, 9, @on
exec sp_trace_setevent @TraceID, 142, 10, @on
exec sp_trace_setevent @TraceID, 142, 21, @on
exec sp_trace_setevent @TraceID, 142, 26, @on
exec sp_trace_setevent @TraceID, 142, 31, @on
exec sp_trace_setevent @TraceID, 142, 38, @on
exec sp_trace_setevent @TraceID, 142, 51, @on
exec sp_trace_setevent @TraceID, 142, 54, @on
exec sp_trace_setevent @TraceID, 142, 60, @on
exec sp_trace_setevent @TraceID, 142, 64, @on
exec sp_trace_setevent @TraceID, 158, 1, @on
exec sp_trace_setevent @TraceID, 158, 9, @on
exec sp_trace_setevent @TraceID, 158, 3, @on
exec sp_trace_setevent @TraceID, 158, 12, @on
exec sp_trace_setevent @TraceID, 158, 6, @on
exec sp_trace_setevent @TraceID, 158, 7, @on
exec sp_trace_setevent @TraceID, 158, 8, @on
exec sp_trace_setevent @TraceID, 158, 10, @on
exec sp_trace_setevent @TraceID, 158, 21, @on
exec sp_trace_setevent @TraceID, 158, 25, @on
exec sp_trace_setevent @TraceID, 158, 26, @on
exec sp_trace_setevent @TraceID, 158, 31, @on
exec sp_trace_setevent @TraceID, 158, 38, @on
exec sp_trace_setevent @TraceID, 158, 40, @on
exec sp_trace_setevent @TraceID, 158, 42, @on
exec sp_trace_setevent @TraceID, 158, 51, @on
exec sp_trace_setevent @TraceID, 158, 54, @on
exec sp_trace_setevent @TraceID, 158, 60, @on
exec sp_trace_setevent @TraceID, 158, 64, @on
exec sp_trace_setevent @TraceID, 159, 1, @on
exec sp_trace_setevent @TraceID, 159, 9, @on
exec sp_trace_setevent @TraceID, 159, 3, @on
exec sp_trace_setevent @TraceID, 159, 11, @on
exec sp_trace_setevent @TraceID, 159, 6, @on
exec sp_trace_setevent @TraceID, 159, 7, @on
exec sp_trace_setevent @TraceID, 159, 8, @on
exec sp_trace_setevent @TraceID, 159, 10, @on
exec sp_trace_setevent @TraceID, 159, 12, @on
exec sp_trace_setevent @TraceID, 159, 21, @on
exec sp_trace_setevent @TraceID, 159, 26, @on
exec sp_trace_setevent @TraceID, 159, 30, @on
exec sp_trace_setevent @TraceID, 159, 34, @on
exec sp_trace_setevent @TraceID, 159, 36, @on
exec sp_trace_setevent @TraceID, 159, 37, @on
exec sp_trace_setevent @TraceID, 159, 38, @on
exec sp_trace_setevent @TraceID, 159, 39, @on
exec sp_trace_setevent @TraceID, 159, 41, @on
exec sp_trace_setevent @TraceID, 159, 46, @on
exec sp_trace_setevent @TraceID, 159, 51, @on
exec sp_trace_setevent @TraceID, 159, 54, @on
exec sp_trace_setevent @TraceID, 159, 60, @on
exec sp_trace_setevent @TraceID, 159, 64, @on


declare @intfilter int
declare @bigintfilter bigint

exec sp_trace_setfilter @TraceID, 10, 0, 7, N'Приложение SQL Server Profiler%'
exec sp_trace_setstatus @TraceID, 1

select TraceID=@TraceID
goto finish

error: 
select ErrorCode=@rc

finish: 
go

/* запустить после того как отправите сообщения в очередь
exec sp_trace_setstatus <ИД Трассы>, 0
exec sp_trace_setstatus <ИД Трассы>, 2
*/




этот скрипт создаст трассу на события брокера, появится файлик C:\temp\BROKER_EVENTS.trc
прикрипите его сюда.
единственное может нужно подкорректировать путь для выходново файла под файловую систему линуха.



Нет..у меня линуксовый сервак..япотрачу еще часа 3,чтобы этот файл извлечь с него
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946736
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ys.dm_broker_connections => login_state = 12
если вы конечно правильно идентифицировали нужную строку.

Что это означает?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946749
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

вы спросили как я идентифицировал что соединение прошло, я вам ответил. значение 12 для столбца login_state указывает на то что соединение на физическом уровне успешно установленно. так же у вас показатель отправленных данных по этому каналу не нулевой, поэтому что то он на получатель всетаки отправлял.

Нет..у меня линуксовый сервак..япотрачу еще часа 3,чтобы этот файл извлечь с него

вы даете мало данных для идентификации причины возможных ошибок настройки.
их может бне одна и не две, межсерверное взаимодействие брокера действительно достаточно трудоемко.
сильно проще было бы посмотреть трассу нежели тащить информацию из вас клещами по крупицам.

ну хорошо хотите пойти сложным путем, покажите последовательно скрипты какими создавали службы и сертификаты (можно без паролей) и привязки
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946754
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

вы спросили как я идентифицировал что соединение прошло, я вам ответил. значение 12 для столбца login_state указывает на то что соединение на физическом уровне успешно установленно. так же у вас показатель отправленных данных по этому каналу не нулевой, поэтому что то он на получатель всетаки отправлял.

Нет..у меня линуксовый сервак..япотрачу еще часа 3,чтобы этот файл извлечь с него

вы даете мало данных для идентификации причины возможных ошибок настройки.
их может бне одна и не две, межсерверное взаимодействие брокера действительно достаточно трудоемко.
сильно проще было бы посмотреть трассу нежели тащить информацию из вас клещами по крупицам.

ну хорошо хотите пойти сложным путем, покажите последовательно скрипты какими создавали службы и сертификаты (можно без паролей) и привязки

Хорошо..момент

сервер 1

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
CREATE MASTER KEY ENCRYPTION BY PASSWORD =
'Pa$$w0rd';
CREATE CERTIFICATE Endpoint1Cert WITH
SUBJECT = 'For Service Broker endpoint';
CREATE ENDPOINT Endpoint1
STATE = STARTED
AS TCP (LISTENER_PORT = 4022)
FOR SERVICE_BROKER (
 AUTHENTICATION = CERTIFICATE Endpoint1Cert);


BACKUP CERTIFICATE Endpoint1Cert
TO FILE = 'X\Endpoint1Cert.cert';
CREATE LOGIN SBLogin2 WITH PASSWORD = 'Pa$$w0rd';
CREATE USER SBUser2 FOR LOGIN SBLogin2;
CREATE CERTIFICATE Endpoint2Cert
AUTHORIZATION SBUser2
FROM FILE = 'X\Endpoint2Cert.cert';
GRANT CONNECT ON ENDPOINT::Endpoint1 TO SBLogin2



CREATE DATABASE SBDemo1;
ALTER DATABASE SBDemo1 SET ENABLE_BROKER;
ALTER DATABASE SBDemo1 SET TRUSTWORTHY ON;
USE SBDemo1
SELECT service_broker_guid FROM sys.databases
WHERE database_id = DB_ID()
-- D6D29F2F-AAA0-493C-92B0-701E29B10EB7
CREATE MESSAGE TYPE DemoMessageType VALIDATION =
NONE;
CREATE CONTRACT DemoContract (
 DemoMessageType SENT BY ANY);
CREATE QUEUE Queue1;
CREATE SERVICE Service1
ON QUEUE Queue1 (DemoContract);


CREATE ROUTE Service2Route WITH SERVICE_NAME =
'Service2', ADDRESS = 'TCP://0.0.0.0:4022',
BROKER_INSTANCE = 'C6938686-BAA3-41A3-8186-
72D57278FAC9';

CREATE USER DemoUser1 WITHOUT LOGIN;
GRANT CONTROL ON SERVICE::Service1 TO DemoUser1;
CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'Pa$$w0rd';
CREATE CERTIFICATE DemoUser1Cert
AUTHORIZATION DemoUser1
WITH SUBJECT = 'For SB Service ';
BACKUP CERTIFICATE DemoUser1Cert
TO FILE = 'X\DemoUser1Cert.cert';

CREATE USER DemoUser2 WITHOUT LOGIN
CREATE CERTIFICATE DemoUser2Cert
AUTHORIZATION DemoUser2
FROM FILE = 'X\DemoUser2Cert.cert'
CREATE REMOTE SERVICE BINDING Service2Binding
TO SERVICE 'Service2'
WITH USER = DemoUser2, ANONYMOUS = ON / OFF;


USE SBDemo1
DECLARE @h UNIQUEIDENTIFIER;
BEGIN DIALOG CONVERSATION @h
FROM SERVICE Service1 TO SERVICE 'Service2'
ON CONTRACT DemoContract
WITH ENCRYPTION = OFF;
SEND ON CONVERSATION @h MESSAGE TYPE
DemoMessageType ('test
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946757
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 сервер

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
CREATE ROUTE Service1Route WITH SERVICE_NAME =
'Service1', ADDRESS = 'TCP://0.0.0.0:4022',
BROKER_INSTANCE = 'D6D29F2F-AAA0-493C-92B0-
701E29B10EB7';


GRANT CONNECT TO public
GRANT SEND ON SERVICE::Service2 TO public


CREATE USER DemoUser2 WITHOUT LOGIN
GRANT CONTROL ON SERVICE::Service2 TO DemoUser2
CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'Pa$$w0rd'
CREATE CERTIFICATE DemoUser2Cert
AUTHORIZATION DemoUser2
WITH SUBJECT = 'For SB Service'
BACKUP CERTIFICATE DemoUser2Cert
TO FILE = 'X\DemoUser2Cert.cert


CREATE USER DemoUser1 WITHOUT LOGIN
CREATE CERTIFICATE DemoUser1Cert
AUTHORIZATION DemoUser1
FROM FILE = 'X\DemoUser1Cert.cert'
CREATE REMOTE SERVICE BINDING Service1Binding
TO SERVICE 'Service1'
WITH USER = DemoUser1, ANONYMOUS = ON / OFF;


USE SBDemo2
DECLARE @h UNIQUEIDENTIFIER, @msg VARCHAR(MAX);
BEGIN TRANSACTION;
 WAITFOR (
 RECEIVE TOP (1) @h = [conversation_handle]
 , @msg = TRY_CONVERT(varchar, [message_body])
 FROM [Queue2]
 ), TIMEOUT 1000
 IF @@ROWCOUNT <= 0 BEGIN
 PRINT 'No messages'
 ROLLBACK TRANSACTION;
 RETURN;
 END;
 PRINT @msg
 END CONVERSATION @h;
COMMIT TRANSACTION;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946759
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

И нет,я хочу разобратся в этом вопросе и решить его.
Но реально извлечь файл с сервака линукса..трабла..
Если ничего не получится,чтоже начну трассировку,вариантов нет
Но вы уверяете,что сообщение доходит до сервера?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946761
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

4022 доступны и слушаются,смотрел уже..это сразу проверил
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946770
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

ну вы и намесили :)

что у вас за маршруты такие широковещательные? там должны быть ip-адреса обоих серверов.
маршрут серверку как раз и говорит "службу с таким то именем можешь искать по адресу XXX.XXX.XXX.XXX:PORT" если там будут

0.0.0.0:4022 это не значит что сервер всем хостам в сети попытается сообщение отправить.


так же каша в плане безопасности диалога и анонимную проверку разрешили и на основе сертификатов тоже )

если минималистично у вас скрипты должны выглядеть так:

по шагам:
1)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
use master;
create or alter procedure [get_cert]
      @name sysname,
      @encrypt varchar(255),
      @decrypt varchar(255)
as
declare @sql varchar(max) = '';
declare @pub varbinary(max), @pvk varbinary(max);

if isnull(cert_id(@name), 0) = 0 throw 50000, 'certificate if not found';

set @sql = 'create certificate {name} from binary = {pub} with private key (binary = {pvk}, decryption by password = ''{decrypt}'', encryption by password = ''{encrypt}'');';
set @pub = certencoded(cert_id(@name));
set @pvk = certprivatekey(cert_id(@name), @encrypt, @decrypt);

set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{pub}', convert(varchar(max), @pub, 1));
set @sql = replace(@sql, '{pvk}', convert(varchar(max), @pvk, 1));
set @sql = replace(@sql, '{encrypt}', @encrypt);
set @sql = replace(@sql, '{decrypt}', @decrypt);

select @sql;
print @sql;
go



2)
Код: sql
1.
2.
3.
4.
5.
6.
7.
--источник
use master;
create master key encryption by password = 'Pa$$w0rd';
create certificate [auth_cert] encryption by password = 'Pa$$w0rd' with subject = 'authentication certificate';
create endpoint [service_broker_endpoint] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert]);

exec [get_cert] 'auth_cert', 'Pa$$w0rd', 'Pa$$w0rd'



процедурка выплюнет кусок кода по созданию сертификата
3)
Код: sql
1.
2.
3.
4.
5.
6.
7.
--таргет
use master;
create master key encryption by password = 'Pa$$w0rd';

<вставить кусок кода из второго шага для создания сертификата>;

create endpoint [service_broker_endpoint] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert]);



4)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
--источник
use [master];
create database [d1];
alter database [d1] set enable_broker with rollback immediate;

use [d1];
create queue [q1];
create service [s1] on queue [q1] ([DEFAULT]);

create certificate [broker_cert] encryption by password = 'Pa$$w0rd' with subject = 'cert1';
<создать процедуру из шага 1 в базе>
exec [get_cert] 'broker_cert', 'Pa$$w0rd', 'Pa$$w0rd';

create user [broker_user] from certificate [broker_cert];
alter authorization on service::s1 to [broker_user];

select [service_broker_guid] from sys.databases where database_id = db_id();



5)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
--таргет
use [master];
create database [d2];
alter database [d2] set enable_broker with rollback immediate;

use [d2];
create queue [q2];
create service [s2] on queue [q2] ([DEFAULT]);

<вставить кусок кода из шага 4 для создания сертификата>;

create user [broker_user] from certificate [broker_cert];
alter authorization on service::s2 to [broker_user];

select [service_broker_guid] from sys.databases where database_id = db_id();



6)
Код: sql
1.
2.
3.
4.
--источник
create route [to_target] with service_name = 's2', address = 'TCP://10.0.40.248:4022', BROKER_INSTANCE = '<guid_d2>'; --взять гуид из шага 5

create remote service binding [bind_to_s2] to service 's2' with user = [broker_user];



7)
Код: sql
1.
2.
--таргет
create route [to_initiator] with service_name = 's1', address = 'TCP://10.0.40.49:4022', BROKER_INSTANCE = '<guid_d1>'; --взять гуид из шага 4
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946772
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Я в 1-е все делал)Конечно мог намесить..ща снесу все роуты и бд и заново
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946774
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

забыл еще нюанс, там нужно владельца сертификата поменять и для привязки указывать именно пользователя владельца.
я так ни разу не пробовал но может прокатит что бы лишних пользователей не создавать

Код: sql
1.
2.
--в обоих инстансах
alter authorization on certificate::[broker_cert] to [broker_user];

;

если с такой комбинацией не прокатит тогда придется в каждой базе создавать пользователя без логина, сделать его владельцем сертификата и дать права на отправку сообщений в очередь
Код: sql
1.
2.
3.
4.
5.
--источник
create user [cert_owner] without login;
alter authorization on certificate [broker_cert] to [cert_owner];
grant send on service::[s1] to [cert_owner];
grant receive on [q1] to [cert_owner];


Код: sql
1.
2.
3.
4.
5.
--таргет
create user [cert_owner] without login;
alter authorization on certificate [broker_cert] to [cert_owner];
grant send on service::[s2] to [cert_owner];
grant receive on [q2] to [cert_owner];
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946775
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

забыл еще нюанс, там нужно владельца сертификата поменять и для привязки указывать именно пользователя владельца.
я так ни разу не пробовал но может прокатит что бы лишних пользователей не создавать

Код: sql
1.
2.
--в обоих инстансах
alter authorization on certificate::[broker_cert] to [broker_user];

;

если с такой комбинацией не прокатит тогда придется в каждой базе создавать пользователя без логина, сделать его владельцем сертификата и дать права на отправку сообщений в очередь
Код: sql
1.
2.
3.
4.
5.
--источник
create user [cert_owner] without login;
alter authorization on certificate [broker_cert] to [cert_owner];
grant send on service::[s1] to [cert_owner];
grant receive on [q1] to [cert_owner];


Код: sql
1.
2.
3.
4.
5.
--таргет
create user [cert_owner] without login;
alter authorization on certificate [broker_cert] to [cert_owner];
grant send on service::[s2] to [cert_owner];
grant receive on [q2] to [cert_owner];



Вопрос..Можно ли сделаьт не на основе сертификатов?неудобные они..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946776
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

можно безопасность диалогов сделать без сертификатов, анонимную.

а вот безопасность транспорта не уверен, для сиквела на платформе windows и в домене - можно.
для линуксового не факт, у вас же домена нет.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946780
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот вам для простоты скрипт создания сертификатов из бэкапа еще:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
create or alter procedure [create_cert_from_backup]
      @name sysname,
      @file sysname,
      @pvk nvarchar(256) = null,
      @encrypt nvarchar(256) = null,
      @decrypt nvarchar(256) = null,
      @is_exec bit = 0
as
declare @sql nvarchar(max) = 'create certificate {name} from file = ''{file}''';
set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{file}', @file);
if @pvk > N'' begin
    set @sql += N' with private key (file=' + quotename(@pvk, nchar(39))
    if @encrypt > N'' set @sql += ', encryption by password = ' + quotename(@encrypt, nchar(39));
    if @decrypt > N'' set @sql += ', decryption by password = ' + quotename(@decrypt, nchar(39));
    set @sql += N');'
end;

if @is_exec = 1 begin
    begin try
        exec (@sql);
    end try
    begin catch
         select error_message();
    end catch
end;

select @sql;
print @sql;



шаг 2 должен тогда выглядеть так:
Код: sql
1.
2.
3.
4.
5.
6.
--источник
use master;
create master key encryption by password = 'Pa$$w0rd';
create certificate [auth_cert] with subject = 'authentication certificate';

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer';



шаг 3
Код: sql
1.
2.
3.
4.
5.
6.
--таргет
use master;
create master key encryption by password = 'Pa$$w0rd';
create certificate [auth_cert] with subject = 'authentication certificate';

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv2.cer';



шаг 4
Код: sql
1.
2.
3.
4.
--источник (предварительно скопировав сертификат таргета на инициатор)
exec [create_cert_from_backup] 'auth_cert_serv2', 'C:\temp\auth_cert_serv2.cer';

create endpoint [service_broker_endpoint] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert_serv2]);



шаг 5
Код: sql
1.
2.
3.
4.
--таргет (предварительно скопировав сертификат инициатора на таргет)
exec [create_cert_from_backup] 'auth_cert_serv1', 'C:\temp\auth_cert_serv1.cer';

create endpoint [service_broker_endpoint] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert_serv1]);
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946781
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

таргет (предварительно скопировав сертификат инициатора на таргет)

то есть с диска на диск?то есть с машины на машину?

Это линукс..там целая трабла
Как раз в прошлый раз я не корировал

Можно обойтись без сертификата?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946784
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще..много всегоа написали,я запутался.
Можно ли как-то на 1 страницу поместить все шаги?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946786
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

я вам уже отвечал, если у вас нет домена то нельзя.

для транспортной безопасности есть только два варианта:
а) аутентификация на основе учетных записей windows - должен быть домен (или если домена нет по крайней мере учетки под которыми запускаются инстансы сиквелов должны иметь одно и тоже имя и пароль, но это не точно никогда не имел дела с ситуацией аутентификации в рабочей группе)

б) аутентификация на основе сертификатов, при этом обмен открытыми ключами обязателен.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946787
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще..много всегоа написали,я запутался.
Можно ли как-то на 1 страницу поместить все шаги?

Максим Александровитч,

сейчас попробую собрать в один пост, подождите.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946790
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Очень плохо про обмен..чертов линукс..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946794
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,


1)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
--source
use master
go

create or alter procedure [create_cert_from_backup]
      @name sysname,
      @file sysname,
      @pvk nvarchar(256) = null,
      @encrypt nvarchar(256) = null,
      @decrypt nvarchar(256) = null,
      @is_exec bit = 0
as
declare @sql nvarchar(max) = 'create certificate {name} from file = ''{file}''';
set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{file}', @file);
if @pvk > N'' begin
    set @sql += N' with private key (file=' + quotename(@pvk, nchar(39))
    if @encrypt > N'' set @sql += ', encryption by password = ' + quotename(@encrypt, nchar(39));
    if @decrypt > N'' set @sql += ', decryption by password = ' + quotename(@decrypt, nchar(39));
    set @sql += N');'
end;

if @is_exec = 1 begin
    begin try
        exec (@sql);
    end try
    begin catch
         select error_message();
    end catch
end;

select @sql;
print @sql;
go

use master;
go

create or alter procedure [get_cert]
      @name sysname,
      @encrypt varchar(255),
      @decrypt varchar(255)
as
declare @sql varchar(max) = '';
declare @pub varbinary(max), @pvk varbinary(max);

if isnull(cert_id(@name), 0) = 0 throw 50000, 'certificate if not found', 16;

set @sql = 'create certificate {name} from binary = {pub} with private key (binary = {pvk}, decryption by password = ''{decrypt}'', encryption by password = ''{encrypt}'');';
set @pub = certencoded(cert_id(@name));
set @pvk = certprivatekey(cert_id(@name), @encrypt, @decrypt);

set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{pub}', convert(varchar(max), @pub, 1));
set @sql = replace(@sql, '{pvk}', convert(varchar(max), @pvk, 1));
set @sql = replace(@sql, '{encrypt}', @encrypt);
set @sql = replace(@sql, '{decrypt}', @decrypt);

select @sql;
print @sql;
go



2)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
--target
use master
go

create or alter procedure [create_cert_from_backup]
      @name sysname,
      @file sysname,
      @pvk nvarchar(256) = null,
      @encrypt nvarchar(256) = null,
      @decrypt nvarchar(256) = null,
      @is_exec bit = 0
as
declare @sql nvarchar(max) = 'create certificate {name} from file = ''{file}''';
set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{file}', @file);
if @pvk > N'' begin
    set @sql += N' with private key (file=' + quotename(@pvk, nchar(39))
    if @encrypt > N'' set @sql += ', encryption by password = ' + quotename(@encrypt, nchar(39));
    if @decrypt > N'' set @sql += ', decryption by password = ' + quotename(@decrypt, nchar(39));
    set @sql += N');'
end;

if @is_exec = 1 begin
    begin try
        exec (@sql);
    end try
    begin catch
         select error_message();
    end catch
end;

select @sql;
print @sql;
go

use master;
go

create or alter procedure [get_cert]
      @name sysname,
      @encrypt varchar(255),
      @decrypt varchar(255)
as
declare @sql varchar(max) = '';
declare @pub varbinary(max), @pvk varbinary(max);

if isnull(cert_id(@name), 0) = 0 throw 50000, 'certificate if not found', 16;

set @sql = 'create certificate {name} from binary = {pub} with private key (binary = {pvk}, decryption by password = ''{decrypt}'', encryption by password = ''{encrypt}'');';
set @pub = certencoded(cert_id(@name));
set @pvk = certprivatekey(cert_id(@name), @encrypt, @decrypt);

set @sql = replace(@sql, '{name}', quotename(@name));
set @sql = replace(@sql, '{pub}', convert(varchar(max), @pub, 1));
set @sql = replace(@sql, '{pvk}', convert(varchar(max), @pvk, 1));
set @sql = replace(@sql, '{encrypt}', @encrypt);
set @sql = replace(@sql, '{decrypt}', @decrypt);

select @sql;
print @sql;
go





3)
Код: sql
1.
2.
3.
4.
--source
create master key encryption by password = 'Pa$$w0rd';
create certificate [auth_cert] with subject = 'auth cert';
backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'c:\temp\auth_cert_serv2.pvk', encryption by password = 'Pa$$w0rd');




4)
Код: sql
1.
2.
3.
4.
--target
create master key encryption by password = 'Pa$$w0rd';
create certificate [auth_cert] with subject = 'auth cert';
backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv2.cer' with private key (file = 'c:\temp\auth_cert_serv2.pvk', encryption by password = 'Pa$$w0rd');



5) копируете файл C:\temp\auth_cert_serv1.cer и файл C:\temp\auth_cert_serv1.pvk с источника на таргет
6) копируете файл C:\temp\auth_cert_serv2.cer и файл C:\temp\auth_cert_serv2.pvk с таргета на источник

7)
Код: sql
1.
2.
3.
4.
5.
--source
use master
go
exec create_cert_from_backup 'auth_cert_serv2', 'C:\temp\auth_cert_serv2.cer', 'C:\temp\auth_cert_serv2.pvk', @decrypt = 'Pa$$w0rd', @is_exec=1;
create endpoint [sb] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert_serv2]);



8)
Код: sql
1.
2.
3.
4.
5.
--target
use master
go
exec create_cert_from_backup 'auth_cert_serv1', 'C:\temp\auth_cert_serv1.cer', 'C:\temp\auth_cert_serv1.pvk', @decrypt = 'Pa$$w0rd', @is_exec=1;
create endpoint [sb] state = started as tcp (listener_port = 4022) for service_broker (authentication = certificate [auth_cert_serv1]);




9)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
--source
use master;
go

create database [d1];
alter database [d1] set enable_broker with rollback imemdiate;
go

use [d1];
go

create queue [q1];
create service [s1] on queue [q1] ([DEFAULT]);
select [service_broker_guid] from sys.databases where database_id = db_id();



10)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
--target
use master;
go

create database [d2];
alter database [d2] set enable_broker with rollback imemdiate;
go

use [d2];
go

create queue [q2];
create service [s2] on queue [q2] ([DEFAULT]);
select [service_broker_guid] from sys.databases where database_id = db_id();



11)
Код: sql
1.
2.
--source
create route [to_s2] with service_name = 's2', address = 'TCP://10.0.0.49:4022', broker_instance = '<guid from step 10>';




12)
Код: sql
1.
2.
--target
create route [to_s1] with service_name = 's1', address = 'TCP://10.0.0.149:4022', broker_instance = '<guid from step 9>';




13)
Код: sql
1.
2.
--target
grant send on service::s2 to public;



14)
Код: sql
1.
2.
3.
4.
5.
6.
7.
--source
declare @h uniqueidentifier;
begin dialog conversation @h
from service [s1] to service N's2'
with encryption = off;

send on conversation @h ('hello');



15)
Код: sql
1.
2.
3.
4.
5.
6.
7.
--target
declare @h uniqueidentifier, @m varbinary(max);
receive top(1) @h = conversation_handle, @m = [message_body] from [q2];
if @h is not null begin
    select cast(@m as varchar(max)) as [message];
    end conversation @h;
end;


...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946797
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Спс,ща займусь..может почта есть,удобнее на нее было бы
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946839
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут неясны какие условия с PVK

@pvk nvarchar(256) = null
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946878
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Вот тут неясны какие условия с PVK

@pvk nvarchar(256) = null


Да,я понял..вы просто шаблон сделали..ща пытаюсь автоматизировать перенос ключей между 2 убунтами которые не в домене.
Вопрос.
Сертификат на сколько делается?у вас просто не указан срок,значит ли это бессрочно?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39946956
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Максим Александровитч
Вот тут неясны какие условия с PVK

@pvk nvarchar(256) = null


Да,я понял..вы просто шаблон сделали..ща пытаюсь автоматизировать перенос ключей между 2 убунтами которые не в домене.
Вопрос.
Сертификат на сколько делается?у вас просто не указан срок,значит ли это бессрочно?


год по умолчанию если expirity_date не указывается
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947064
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении
create endpoint [sb] state = started as tcp (listener_port = 4022)
for service_broker (authentication = certificate [auth_cert_serv2]);




Сертификат "auth_cert_serv2" не действителен для проверки подлинности конечной точки. У сертификата должен быть закрытый ключ, зашифрованный при помощи главного ключа базы данных, и текущая дата в формате UTC должна лежать в пределах срока действия сертификата.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947067
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем на таргете выполнилось норм..Точка создана
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947071
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

я в синтаксисе ошибся:

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'c:\temp\auth_cert_serv 2 .pvk', encryption by password = 'Pa$$w0rd');

там получилось два закрытых ключа с одним и тем же именем.

вы постарайтесь не просто копировать, а разбираться что каждый шаг делает.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947083
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

я в синтаксисе ошибся:

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'c:\temp\auth_cert_serv 2 .pvk', encryption by password = 'Pa$$w0rd');

там получилось два закрытых ключа с одним и тем же именем.

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


Скажу уж честно вы не только тут ошиблись)именно поэтому ключи я норм создал.
А вот тут да,маху дал,проглядел..
я уж столько раз точки создавал,что даже и не думал,что может быть такая ошибка
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947085
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

я в синтаксисе ошибся:

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'c:\temp\auth_cert_serv 2 .pvk', encryption by password = 'Pa$$w0rd');

там получилось два закрытых ключа с одним и тем же именем.

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


Так..стоп..это-то конечно я исправил.
У меня source ключи с префиксом 1
target с префиксом 2
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947089
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При создании на сурсе

create endpoint [sb] state = started as tcp (listener_port = 4022)
for service_broker (authentication = certificate [auth_cert_serv2]);

Ошибка

Сертификат "auth_cert_serv2" не действителен для проверки подлинности конечной точки. У сертификата должен быть закрытый ключ, зашифрованный при помощи главного ключа базы данных, и текущая дата в формате UTC должна лежать в пределах срока действия сертификата.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947090
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
felix_ff
Максим Александровитч,

я в синтаксисе ошибся:

backup certificate [auth_cert] to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'c:\temp\auth_cert_serv 2 .pvk', encryption by password = 'Pa$$w0rd');

там получилось два закрытых ключа с одним и тем же именем.

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


Скажу уж честно вы не только тут ошиблись)именно поэтому ключи я норм создал.
А вот тут да,маху дал,проглядел..
я уж столько раз точки создавал,что даже и не думал,что может быть такая ошибка



мое дело задать направление :) писал по памяти, мог спокойно где то синтаксически еще промазать
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947094
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
При создании на сурсе

create endpoint [sb] state = started as tcp (listener_port = 4022)
for service_broker (authentication = certificate [auth_cert_serv2]);

Ошибка

Сертификат "auth_cert_serv2" не действителен для проверки подлинности конечной точки. У сертификата должен быть закрытый ключ, зашифрованный при помощи главного ключа базы данных, и текущая дата в формате UTC должна лежать в пределах срока действия сертификата.


еще раз сделайте следующее:
на источнике очистите ранее созданный бэкап сертификата:

Код: sql
1.
2.
3.
4.
5.
6.
7.
--windows
del /Q C:\temp\auth_cert_serv1.cer
del /Q C:\temp\auth_cert_serv1.pvk

--linux
rm {путь к файлу .cer}
rm {путь к файлу .pvk}



снова сделайте бэкап сертификата:
Код: sql
1.
backup certificate auth_cert to file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'C:\temp\auth_cert_serv1.pvk', encryption by password = 'Pa$$w0rd');



на таргете удалите файлик бэкапа который переносили с соурса
и снова скопируйте правильный бэкап с соура

и уже потом восстанавливайте на таргете:
Код: sql
1.
2.
if exists (select 1 from sys.certificates where name = 'auth_cert_serv1') drop certificate [auth_cert_serv1];
create certificate [auth_cert_serv1] from file = 'C:\temp\auth_cert_serv1.cer' with private key (file = 'C:\temp\auth_cert_serv1.pvk', decryption by password = 'Pa$$w0rd');



у вас в итоге на обоих серверах представление sys.certificatec должно показывать что существует сертификат противоположного сервера и поле pvt_key_encryption_type_desc должно показывать ENCRYPTED_BY_MASTER_KEY

Код: sql
1.
2.
--source
select [pvt_key_encryption_type_desc] from sys.certificates where name = 'auth_cert_serv2';



Код: sql
1.
2.
--target
select [pvt_key_encryption_type_desc] from sys.certificates where name = 'auth_cert_serv1';



если последние два селекта вернут ENCRYPTED_BY_MASTER_KEY то все ок, можно создавать конечные точки
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947105
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Попробую
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947258
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка на таргете

Сообщение 15468, уровень 16, состояние 6, строка 1
Во время формирования сертификат произошла ошибка.


select *
from sys.messages
where message_id=15468
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947259
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сурсе норм
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947276
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

значит чет не то делаете.
ну проверьте что ли на всякий случай так:
Код: sql
1.
2.
--на источнике
select cert_serial_number, cast(thumbprint as varbinary(max)) from sys.certificates where name = 'auth_cert_serv1';



потом в файловой системе откройте файлик auth_cert_serv1.cer перейдите на вкладку "состав" и сверьте серийный номер и отпечаток, они должны совпадать с тем что вернул селект.

а и да еще проверьте на обоих серверах:
Код: sql
1.
select * from sys.symmetric_keys where name = '##_MS_DatabaseMasterKey##';


должна вернуться строчка
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947278
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

значит чет не то делаете.
ну проверьте что ли на всякий случай так:
Код: sql
1.
2.
--на источнике
select cert_serial_number, cast(thumbprint as varbinary(max)) from sys.certificates where name = 'auth_cert_serv1';



Пусто

потом в файловой системе откройте файлик auth_cert_serv1.cer перейдите на вкладку "состав" и сверьте серийный номер и отпечаток, они должны совпадать с тем что вернул селект.

а и да еще проверьте на обоих серверах:
Код: sql
1.
2.
select * from sys.symmetric_keys where name = '##_MS_DatabaseMasterKey##';
Пусто


должна вернуться строчка
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947279
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

значит чет не то делаете.
ну проверьте что ли на всякий случай так:
Код: sql
1.
2.
--на источнике
select cert_serial_number, cast(thumbprint as varbinary(max)) from sys.certificates where name = 'auth_cert_serv1';



потом в файловой системе откройте файлик auth_cert_serv1.cer перейдите на вкладку "состав" и сверьте серийный номер и отпечаток, они должны совпадать с тем что вернул селект.

а и да еще проверьте на обоих серверах:
Код: sql
1.
select * from sys.symmetric_keys where name = '##_MS_DatabaseMasterKey##';


должна вернуться строчка



И да ,мастер-ключ у меня создан еще с 1-х косячных примеров..может из-за этого?
И еще на сурсе все номр сертификат восстановил-то
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947280
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что вернуло
select [pvt_key_encryption_type_desc] from sys.certificates where name = 'auth_cert';

select [pvt_key_encryption_type_desc] from sys.certificates where name = 'auth_cert_serv2';
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947281
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

попутал :)
Код: sql
1.
2.
--source
select cert_serial_number, cast(thumbprint as varbinary(max)) from sys.certificates where name = 'auth_cert'; 



add: кароче покажите выхлоп, на обоих серверах так проще будет:
Код: sql
1.
select [name], [cert_serial_number], [principal_id], [pvt_key_encryption_type_desc], [is_active_for_begin_dialog], [issuer_name], [expiry_date], [start_date], [pvt_key_last_backup_date] from sys.certificates
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947287
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Сурс
name cert_serial_number principal_id pvt_key_encryption_type_desc is_active_for_begin_dialog issuer_name expiry_date start_date pvt_key_last_backup_date
##MS_SQLResourceSigningCertificate## 19 b7 01 ba bb 60 83 b0 41 ee 50 eb de e7 89 66 1 NO_PRIVATE_KEY 0 MS_SQLResourceSigningCertificate 2021-02-04 01:28:05.000 2020-02-04 01:28:05.000 NULL
##MS_SQLReplicationSigningCertificate## 23 1f 86 c1 5d 31 a0 96 4a 07 19 11 72 5f 23 91 1 NO_PRIVATE_KEY 0 MS_SQLReplicationSigningCertificate 2021-02-04 01:28:05.000 2020-02-04 01:28:05.000 NULL
##MS_SQLAuthenticatorCertificate## 3a fa ec 59 63 84 4a 97 40 8b 40 4a 75 41 a8 87 1 NO_PRIVATE_KEY 0 MS_SQLAuthenticatorCertificate 2021-02-04 01:28:05.000 2020-02-04 01:28:05.000 NULL
##MS_AgentSigningCertificate## 25 b1 cb ec 46 63 45 ae 44 0f e4 8f f8 ca d8 f1 1 NO_PRIVATE_KEY 1 MS_AgentSigningCertificate 2021-02-04 01:29:49.000 2020-02-04 01:29:49.000 NULL
##MS_PolicySigningCertificate## 24 52 9b 83 6b 33 ef b6 46 1a 74 62 68 1e 67 7f 1 NO_PRIVATE_KEY 0 MS_PolicySigningCertificate 2021-02-04 01:28:06.000 2020-02-04 01:28:06.000 NULL
##MS_SmoExtendedSigningCertificate## 71 79 0b 08 4d 18 e8 a6 4f 70 7d 15 6e 18 eb 1d 1 NO_PRIVATE_KEY 0 MS_SmoExtendedSigningCertificate 2021-02-04 01:28:06.000 2020-02-04 01:28:06.000 NULL
##MS_SchemaSigningCertificate2A31719787788EB0932B65B6BEA52BE3A48EBA9B## 17 33 4c 58 9b 42 51 bb 4c 25 a0 a6 63 71 21 27 1 NO_PRIVATE_KEY 1 MS_SchemaSigningCertificate2A31719787788EB0932B65B6BEA52BE3A48EBA9B 2021-02-04 01:31:06.000 2020-02-04 01:31:06.000 NULL
auth_cert 7a a8 03 8a f4 b5 d9 53 1 ENCRYPTED_BY_MASTER_KEY 1 auth cert 2021-04-14 18:26:10.000 2020-04-14 18:26:10.000 2020-04-14 18:26:20.800
auth_cert_serv2 51 46 bf cf 86 c7 b2 34 1 ENCRYPTED_BY_PASSWORD 1 auth cert 2021-04-14 18:27:36.000 2020-04-14 18:27:36.000 NULL
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947288
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картинка не выкладывается..

таргет

name cert_serial_number principal_id pvt_key_encryption_type_desc is_active_for_begin_dialog issuer_name expiry_date start_date pvt_key_last_backup_date
##MS_SQLResourceSigningCertificate## 4b dd 80 b7 04 24 67 9f 4d b1 44 15 bf a6 2f 11 1 NO_PRIVATE_KEY 0 MS_SQLResourceSigningCertificate 2021-03-15 00:35:13.000 2020-03-15 00:35:13.000 NULL
##MS_SQLReplicationSigningCertificate## 3b b0 e2 c5 7c 3f c1 bd 4d a6 16 f7 a2 25 51 0b 1 NO_PRIVATE_KEY 0 MS_SQLReplicationSigningCertificate 2021-03-15 00:35:13.000 2020-03-15 00:35:13.000 NULL
##MS_SQLAuthenticatorCertificate## 77 fc 96 1c 37 02 69 bb 41 c7 21 55 fc d3 46 81 1 NO_PRIVATE_KEY 0 MS_SQLAuthenticatorCertificate 2021-03-15 00:35:14.000 2020-03-15 00:35:14.000 NULL
##MS_AgentSigningCertificate## 5c 48 5f f0 c4 e0 54 5c 1 NO_PRIVATE_KEY 1 MS_AgentSigningCertificate 2021-04-02 18:05:44.000 2020-04-02 18:05:44.000 NULL
##MS_PolicySigningCertificate## 52 ed 1e 79 eb 59 57 9a 4f 4f 2f c1 52 3f 60 9e 1 NO_PRIVATE_KEY 0 MS_PolicySigningCertificate 2021-03-15 00:35:14.000 2020-03-15 00:35:14.000 NULL
##MS_SmoExtendedSigningCertificate## 42 b3 07 97 d5 fb 92 87 4a de 53 0a 26 2c 07 87 1 NO_PRIVATE_KEY 0 MS_SmoExtendedSigningCertificate 2021-03-15 00:35:14.000 2020-03-15 00:35:14.000 NULL
##MS_SchemaSigningCertificate77016BAA0A80B39FFF1D00FAE7D8C750D1CA5EA1## 53 93 11 9c e8 2f c5 b5 4f 9e 4e 28 bc 62 04 81 1 NO_PRIVATE_KEY 1 MS_SchemaSigningCertificate77016BAA0A80B39FFF1D00FAE7D8C750D1CA5EA1 2021-03-04 10:14:29.000 2020-03-04 10:14:29.000 NULL
Endpoint2Cert 91 bc 34 22 38 69 da 91 1 ENCRYPTED_BY_MASTER_KEY 1 For Service Broker endpoint 2021-04-12 15:22:06.000 2020-04-12 15:22:06.000 NULL
auth_cert 51 46 bf cf 86 c7 b2 34 1 ENCRYPTED_BY_MASTER_KEY 1 auth cert 2021-04-14 18:27:36.000 2020-04-14 18:27:36.000 2020-04-14 18:27:37.870
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947290
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Source
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947292
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Target
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947294
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

неправильно. видите у вас на соурсе таргетный сертификат защищен паролем а не мастер ключем.

это значит что вы из бекапа его поднимали с директивой encryption by password

делаете так:
Код: sql
1.
2.
3.
4.
--source
drop certificate [auth_cert_serv2];

create certificate [auth_cert_serv2] from file = 'C:\temp\auth_cert_serv2.cer' with private key (file = 'C:\temp\auth_cert_serv2.pvk', decryption by password = 'Pa$$w0rd');



Код: sql
1.
2.
--target
create certificate [auth_cert_serv1] from file = 'C:\temp\auth_cert_serv1.cer' with private key (file ='C:\temp\auth_cert_serv1.pvk', decryption by password = 'Pa$$w0rd');
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947295
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Черт..
у вас написано на сурсе
create certificate [auth_cert_serv2] from file = 'brokercert\auth_cert_serv2.cer'
with private key (file='brokercert\auth_cert_serv2.pvk',
encryption by password = 'Pa$$w0rd', decryption by password = 'Pa$$w0rd');


target
exec create_cert_from_backup 'x\auth_cert_serv1.cer',
'x\auth_cert_serv1.pvk', @decrypt = 'Pa$$w0rd', @is_exec=1;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947296
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
felix_ff,

Черт..
у вас написано на сурсе
create certificate [auth_cert_serv2] from file = 'brokercert\auth_cert_serv2.cer'
with private key (file='brokercert\auth_cert_serv2.pvk',
encryption by password = 'Pa$$w0rd', decryption by password = 'Pa$$w0rd');



где вы у меня такое увидели?

вы же с этого поста делали?
Service Broker для репликации
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947298
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
felix_ff,

Черт..
у вас написано на сурсе
create certificate [auth_cert_serv2] from file = 'brokercert\auth_cert_serv2.cer'
with private key (file='brokercert\auth_cert_serv2.pvk',
encryption by password = 'Pa$$w0rd', decryption by password = 'Pa$$w0rd');



где вы у меня такое увидели?

вы же с этого поста делали?
Service Broker для репликации


Да,мой косяк..интерпретировал..
в итоге все норм.Веде нужное шифрование
выполнил на сурсе
declare @h uniqueidentifier;
begin dialog conversation @h
from service [s1] to service N's2'
with encryption = off;

send on conversation @h ('hello');
На таргете ничего

--target
declare @h uniqueidentifier, @m varbinary(max);
receive top(1) @h = conversation_handle, @m = [message_body] from [q2];
if @h is not null begin
select cast(@m as varchar(max)) as [message];
end conversation @h;
end;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947299
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос..маршрут создаем на сурсе с айпи адресом таргета?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947300
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

теперь покажите результат
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
--source
select [conversation_handle], [to_service_me], [from_service_name], try_cast([message_body] as xml]), [transmission_status] from sys.transmission_queue;

select [conversation_handle], [state_desc], [far_service] from sys.conversation_endpoints;

select [state_desc], [login_state], [login_time], [principal_name], [remote_user_name] from sys.dm_broker_connections;

select * from sys.service_broker_endpoints;




Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
--target
use msdb;
go
select * from sys.transmission_queue;

use [имя базы];
go
select [conversation_handle], [state_desc], [far_service] from sys.conversation_endpoints;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947301
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм..нет сервисов привязки удаленной службы
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947302
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

привязка и не нужна, я вам написал вариант без использования безопасности на уровне диалога.
роли public права send на сервис получателя дали?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947303
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

теперь покажите результат
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
--source
select [conversation_handle], [to_service_me], [from_service_name], try_cast([message_body] as xml]), [transmission_status] from sys.transmission_queue;

select [conversation_handle], [state_desc], [far_service] from sys.conversation_endpoints;

select [state_desc], [login_state], [login_time], [principal_name], [remote_user_name] from sys.dm_broker_connections;

select * from sys.service_broker_endpoints;




Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
--target
use msdb;
go
select * from sys.transmission_queue;

use [имя базы];
go
select [conversation_handle], [state_desc], [far_service] from sys.conversation_endpoints;




Таргет пусто

Сурс вот
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947311
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

роуты прописали?

Код: sql
1.
select * from sys.routes



учтите я в примере там ip-адреса от балды написал, если делали тупо ctrl+cv то работать не будет
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947350
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

роуты прописали?

Код: sql
1.
select * from sys.routes



учтите я в примере там ip-адреса от балды написал, если делали тупо ctrl+cv то работать не будет


Разумеется IP мои)
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947354
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маршрут с сурсе

name route_id principal_id remote_service_name broker_instance lifetime address mirror_address
to_s2 65537 1 s2 <guid from step 10> NULL TCP://10.0.40.248:4022 NULL
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947386
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

о госпаде.
ну а это че такое? "<guid from step 10>"

вы должны были заменить эту строку на гуид из шага 10 и точно также с обратным маршрутом. маршрут - это указание куда брокер должен ломиться что бы найти нужную ему службу.

remote_service_name - это имя искомой службы
broker_instance - это гуид брокера базы данных (можно сказать идентификатор базы грубо)
address - путь до сервера на котором располагается база

а у вас сейчас маршрут в никуда, базы с таким идентификатором просто не существует. я думал это вполне очевидно
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947397
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

о госпаде.
ну а это че такое? "<guid from step 10>"

вы должны были заменить эту строку на гуид из шага 10 и точно также с обратным маршрутом. маршрут - это указание куда брокер должен ломиться что бы найти нужную ему службу.

remote_service_name - это имя искомой службы
broker_instance - это гуид брокера базы данных (можно сказать идентификатор базы грубо)
address - путь до сервера на котором располагается база

а у вас сейчас маршрут в никуда, базы с таким идентификатором просто не существует. я думал это вполне очевидно


Черт..да,не все что написано надо копипастить..спс
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947413
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
felix_ff
Максим Александровитч,

о госпаде.
ну а это че такое? "<guid from step 10>"

вы должны были заменить эту строку на гуид из шага 10 и точно также с обратным маршрутом. маршрут - это указание куда брокер должен ломиться что бы найти нужную ему службу.

remote_service_name - это имя искомой службы
broker_instance - это гуид брокера базы данных (можно сказать идентификатор базы грубо)
address - путь до сервера на котором располагается база

а у вас сейчас маршрут в никуда, базы с таким идентификатором просто не существует. я думал это вполне очевидно


Черт..да,не все что написано надо копипастить..спс


Переделал
Вот сурс
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947425
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Максим Александровитч
пропущено...


Черт..да,не все что написано надо копипастить..спс


Переделал
Вот сурс


картинкой на обоих серверах:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select [service_broker_guid] from sys.databases where [database_id] = db_id();
select [name], [remote_service_name], [broker_instance], [address] from sys.routes;
select top (1)
      ce.[conversation_handle], 
      ce.[state],
      ce.[far_broker_instance],
      ce.[security_timestamp],
      tq.[from_service_name],
      ce.[far_service],
      cast(tq.[message_body] as xml) as [msg],
      tq.[transmission_status]
from sys.conversation_endpoints ce
    left join sys.transmission_queue tq on tq.[conversation_handle] = ce.[conversation_handle]
order by ce.[send_sequence] desc;



и на таргете дополнительно:
Код: sql
1.
select * from sys.database_permissions where grantee_principal_id = 0 and class = 17;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947433
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сурс
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947434
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таргет
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947437
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

посмотрите внимательно на маршруты, ошибку видите? я лично вижу. и на сообщение в transmission status оноявно говорит что что то не так :)

подсказака аналогия:

вы живете в москве на улице Достоевского 11111
я живу в питере на улице Ленина 55555
вам нужно отправить мне письмо.

по хорошему прийдя на почту вы должны будете в адресе получателя указать город питер ул.Ленина.

а вот сейчас у вас там почтовики будут пытаться искать адрес Москва ул.Ленина 55555 и не факт что найдут

...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947469
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

посмотрите внимательно на маршруты, ошибку видите? я лично вижу. и на сообщение в transmission status оноявно говорит что что то не так :)

подсказака аналогия:

вы живете в москве на улице Достоевского 11111
я живу в питере на улице Ленина 55555
вам нужно отправить мне письмо.

по хорошему прийдя на почту вы должны будете в адресе получателя указать город питер ул.Ленина.

а вот сейчас у вас там почтовики будут пытаться искать адрес Москва ул.Ленина 55555 и не факт что найдут



То есть remote_service_name не тот?В том поле должно быть имя удаленного сервиса,куда идет отправка?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947471
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но,с другой стороноы,не настроен remote_service_binding
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947475
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

нет. remote service name правильный, а вот broker instance guid не тот.

еще раз: у вас должна быть ПЕРЕКРЕСТНАЯ маршрутизация:

у вас сервис s2 располагается на таргете.

соурс о s2 ничего не знает. создав маршрут в соурсе вы говорите службу s2 ищи по такому то ip-адресу в базе вот с таким guid.
поэтому в маршруте указываются реквизиты удаленной службы (ip адрес другого сервера, guid другой базы)
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947478
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Но,с другой стороноы,не настроен remote_service_binding


remote service binding нужен для аутентификации в другой базе, не путайте теплое с мягким.
у вас же сейчас аутентификация анонимная, никаких привязок не нужно.
привязки нужны только когда для аутентификации используются сертификаты на уровне безопасности диалога. (не путать с транспортной безопасностью)
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947482
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
Но,с другой стороноы,не настроен remote_service_binding


remote service binding нужен для аутентификации в другой базе, не путайте теплое с мягким.
у вас же сейчас аутентификация анонимная, никаких привязок не нужно.
привязки нужны только когда для аутентификации используются сертификаты на уровне безопасности диалога. (не путать с транспортной безопасностью)


Все верно..все получил...вопрос такой.
Где посмотреть доки по обработке сообщений?
По какому тегу искать..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947484
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

google:
1)t-sql receive
2)t-sql send


еще почитайте статьи Dave Wentzel
https://davewentzel.com/content/service-broker-demystified-series/

там все подробно расписано.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947487
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

google:
1)t-sql receive
2)t-sql send


еще почитайте статьи Dave Wentzel
https://davewentzel.com/content/service-broker-demystified-series/

там все подробно расписано.


Спс..сам бы я долго и упорно ковырялся б.
Пойду гуглить
Если у вас есть какой-ть готовый скрипт посмотрел бы
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947493
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
felix_ff
Максим Александровитч,

google:
1)t-sql receive
2)t-sql send


еще почитайте статьи Dave Wentzel
https://davewentzel.com/content/service-broker-demystified-series/

там все подробно расписано.


Спс..сам бы я долго и упорно ковырялся б.
Пойду гуглить
Если у вас есть какой-ть готовый скрипт посмотрел бы


странный вопрос. у меня есть такие скрипты что вам в страшном сне не приснятся :)
что именно вам требуется?

общей практики обработки сообщений нет, есть вариации в зависимости от задачи и конфигурации системы.
в самом примитивном варианте на двух очередях используются две процедуры внутренней активации
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create or alter proc usp_target
as
declare @h uniqueidentifier, @mt sysname, @mb varbinary(max);
while 1 =1 begin
       begin tran;
       waitfor (
           receive top(1) @h = conversation_handle, @mt = message_type_name, @mb = message_body from [target_queue]
       ), timeout 1000;
       
       if @@rowcount =0 begin
             rollback tran;
             break;
       end;

       if @mt = 'DEFAULT'
            exec some_business_logic_proc @mb;
       else
            exec some_handling_message_proc @mt, @mb;

       end conversation @h;
       commit;
end;



вторая процедура еще проще, она просто читает ответные сообщения и закрывает диалог на стороне инициатора

но это при учете что сообщения поступают 1 сообщение = 1 диалог.
вариаций может быть много:
1 диалог - много сообщений
несколько диалогов - одна группа диалогов
связанные группы (логически)
связанные диалоги (логически)
и.т.д. и.т.п.
все зависит от фантазии разработчика и потребностей бизнеса, можно вычитывать сообщения пачками, можно по одному. нужна ли степень параллелизма выполнения процедур активации.
поэтому универсального шаблона нет.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39947497
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
пропущено...


Спс..сам бы я долго и упорно ковырялся б.
Пойду гуглить
Если у вас есть какой-ть готовый скрипт посмотрел бы


странный вопрос. у меня есть такие скрипты что вам в страшном сне не приснятся :)
что именно вам требуется?

общей практики обработки сообщений нет, есть вариации в зависимости от задачи и конфигурации системы.
в самом примитивном варианте на двух очередях используются две процедуры внутренней активации
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create or alter proc usp_target
as
declare @h uniqueidentifier, @mt sysname, @mb varbinary(max);
while 1 =1 begin
       begin tran;
       waitfor (
           receive top(1) @h = conversation_handle, @mt = message_type_name, @mb = message_body from [target_queue]
       ), timeout 1000;
       
       if @@rowcount =0 begin
             rollback tran;
             break;
       end;

       if @mt = 'DEFAULT'
            exec some_business_logic_proc @mb;
       else
            exec some_handling_message_proc @mt, @mb;

       end conversation @h;
       commit;
end;



вторая процедура еще проще, она просто читает ответные сообщения и закрывает диалог на стороне инициатора

но это при учете что сообщения поступают 1 сообщение = 1 диалог.
вариаций может быть много:
1 диалог - много сообщений
несколько диалогов - одна группа диалогов
связанные группы (логически)
связанные диалоги (логически)
и.т.д. и.т.п.
все зависит от фантазии разработчика и потребностей бизнеса, можно вычитывать сообщения пачками, можно по одному. нужна ли степень параллелизма выполнения процедур активации.
поэтому универсального шаблона нет.


Да уж..ладно пойду знакомится.
Спс еще раз
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39948819
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, вопрос такой.
Послал я с 1 сервера на другой команду . Написал ХП,которая извлекает и выполняет команду из очереди. Как сделать это на автомате при получении сообщения от сервера?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39948831
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Код: sql
1.
alter queue [имя вашей очереди] with activation (status =on, procedure_name = [имя процедуры активации], max_queue_readers=1, execute as owner);
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39948838
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Код: sql
1.
alter queue [имя вашей очереди] with activation (status =on, procedure_name = [имя процедуры активации], max_queue_readers=1, execute as owner);



Понял,спс..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949129
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.Столкнулся с какой-то неясной проблемой.
Шлю в очередь сообщение


---source
declare @h uniqueidentifier;
begin dialog conversation @h
from service [s1] to service N's2'
with encryption = off;

send on conversation @h ('Hi');

Получаю на таргете ничего
--target --Получим данные
declare @h uniqueidentifier, @m varbinary(max);
receive top(1) @h = conversation_handle, @m = [message_body] from [q2];
if @h is not null begin
select cast(@m as varchar(max)) as [message];
end conversation @h;
end;



Скрин сурса
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949130
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл не удалить
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949132
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неясно почему у меня лежит в sys.transmission_queue именно это сообщение
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949137
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос,такой.
Подскажите,сертификат позволяет работать с любыми БД в разрезе инстанса?
То есть мне нужно просто восстаовить таргет сертификат из бэкапа в нужной БД и все,могу использовать SB?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949165
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Вопрос,такой.
Подскажите,сертификат позволяет работать с любыми БД в разрезе инстанса?
То есть мне нужно просто восстаовить таргет сертификат из бэкапа в нужной БД и все,могу использовать SB?


да.

если в целевой БД есть открытый ключ сертификата отправителя это позволяет расшифровывать сообщения от бд источника.

Неясно почему у меня лежит в sys.transmission_queue именно это сообщение

если сообщения копятся в sys.transmission_quque то это по большей части причина недоступности службы получателя.
на вскидку причины:
а) неправильный маршрут до службы получателя
б) брокер на базе получателя отключен
в) очередь на базе получателя отключена на прием
г) неправильно настроенны разрешения на отправку в службу получателя
д) истек срок дествия сертификата аутентификации
е) используется неправильный контракт

на память не скажу какие из них не отписывают причины ошибок в transmission_status, но всегда можно запустить трассу и посмотреть что является причиной
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949180
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
Вопрос,такой.
Подскажите,сертификат позволяет работать с любыми БД в разрезе инстанса?
То есть мне нужно просто восстаовить таргет сертификат из бэкапа в нужной БД и все,могу использовать SB?


да.

если в целевой БД есть открытый ключ сертификата отправителя это позволяет расшифровывать сообщения от бд источника.

Неясно почему у меня лежит в sys.transmission_queue именно это сообщение

если сообщения копятся в sys.transmission_quque то это по большей части причина недоступности службы получателя.

Трассу через профайлер?
на вскидку причины:
а) неправильный маршрут до службы получателя
б) брокер на базе получателя отключен
в) очередь на базе получателя отключена на прием
г) неправильно настроенны разрешения на отправку в службу получателя
д) истек срок дествия сертификата аутентификации
е) используется неправильный контракт

на память не скажу какие из них не отписывают причины ошибок в transmission_status, но всегда можно запустить трассу и посмотреть что является причиной
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949195
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трассу через профайлер?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949204
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос.
Может ли быть кол-во очередей равно кол-ву сервисов и маршрутов?
Или всегда 1 маршрут,который сопостовляется 1 сервису?
Например так

create queue [Insert];
create queue [Update];
create queue [Delete];
create service [s1s] on queue [Insert] ([DEFAULT]);
create service [s2s] on queue [Update] ([DEFAULT]);
create service [s3s] on queue [Delete] ([DEFAULT]);

create route [to_s1s] with service_name = 's1s', address = 'TCP://0.0.0.0:0', broker_instance = '<Sourcr service broker GUID';
create route [to_s2s] with service_name = 's2s', address = 'TCP://0.0.0.0:0', broker_instance = '<Sourcr service broker GUID';
create route [to_s3s] with service_name = 's3s', address = 'TCP://0.0.0.0:0', broker_instance = '<Sourcr service broker GUID';
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949343
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Трассу через профайлер?

без разницы. можете через файл, как удобно.

код создания трассы я давал в каком то из первых постов в этой теме.

можно не обязательно использовать трассу можете пользоваться расширенными событиями. там тоже есть группа событий позволяющая отлавливать активность компонента.

Код: sql
1.
2.
3.
4.
Еще вопрос.
Может ли быть кол-во очередей равно кол-ву сервисов и маршрутов?
Или всегда 1 маршрут,который сопостовляется 1 сервису?
Например так



может и по хорошему должно.
маршрутов указывающих службу может быть много. к примеру когда у вас распределенная структура и целевая служба присутствует на нескольких серверах.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949401
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

можно не обязательно использовать трассу можете пользоваться расширенными событиями. там тоже есть группа событий позволяющая отлавливать активность компонента.


понял
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949461
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так..настроил на 3 очереди,3 сервиса

Сурс
Код: sql
1.
2.
3.
4.
5.
6.
create queue [InsertS1];
create queue [UpdateS1];
create queue [DeleteS1];
create service [s1Insert] on queue [InsertS1] ([DEFAULT]);
create service [s1Update] on queue [UpdateS1] ([DEFAULT]);
create service [s1Delete] on queue [DeleteS1] ([DEFAULT]);


Таргет
Код: sql
1.
2.
3.
4.
5.
6.
create queue [InsertS2];
create queue [UpdateS2];
create queue [DeleteS2];
create service [s2Insert] on queue [InsertS2] ([DEFAULT]);
create service [s2Update] on queue [UpdateS2] ([DEFAULT]);
create service [s2Delete] on queue [DeleteS2] ([DEFAULT]);


Маршруты
Сурс
Код: sql
1.
2.
3.
create route [To_InsertS2] with service_name = 's2Insert', address = 'TCP://10.0.0.248:4022', broker_instance = '3792BFF9-708D-4E28-ABB4-4D53855C9F4D'---'<target service broker GUID';
create route [To_UpdateS2] with service_name = 's2Update', address = 'TCP://10.0.0.248:4022', broker_instance = '3792BFF9-708D-4E28-ABB4-4D53855C9F4D'--'<target service broker GUID';
create route [To_DeleteS2] with service_name = 's2Delete', address = 'TCP://10.0.0.248:4022', broker_instance = '3792BFF9-708D-4E28-ABB4-4D53855C9F4D'--'<target service broker GUID';

Таргет
Код: sql
1.
2.
3.
4.
--target
create route [InsertS1] with service_name = 's1Insert', address = 'TCP://10.0.0.149:4022', broker_instance ='B15DAC7C-4503-4B53-AEC6-24EF41B74252' --'<Sourcr   service broker GUID';
create route [UpdateS1] with service_name = 's1Update', address = 'TCP://10.0.0.149:4022', broker_instance ='B15DAC7C-4503-4B53-AEC6-24EF41B74252' --'<Sourcr   service broker GUID';
create route [DeleteS1] with service_name = 's1Delete', address = 'TCP://10.0.0.149:4022', broker_instance ='B15DAC7C-4503-4B53-AEC6-24EF41B74252' --'<Sourcr   service broker GUID';


Дал права на таргете
Код: sql
1.
2.
3.
grant send on service::s2Insert to public;
grant send on service::s2Update to public;
grant send on service::s2Delete to public;


Шлю
Код: sql
1.
2.
3.
4.
5.
6.
declare @h uniqueidentifier;
begin dialog conversation @h
from service [s1Insert] to service N's2Insert'
with encryption = off;

send on conversation @h ('hello');


Получаю
Код: sql
1.
2.
3.
4.
5.
6.
declare @h uniqueidentifier, @m varbinary(max);
receive top(1) @h = conversation_handle, @m = [message_body] from [InsertS2];
if @h is not null begin
    select cast(@m as varchar(max)) as [message];
    end conversation @h;
end;



А в ответ тишина
Данные из запросов

Сурс
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 select [service_broker_guid] from sys.databases where [database_id] = db_id();
select [name], [remote_service_name], [broker_instance], [address] from sys.routes;
select top (11)
      ce.[conversation_handle], 
      ce.[state],
      ce.[far_broker_instance],
      ce.[security_timestamp],
      tq.[from_service_name],
      ce.[far_service],
      cast(tq.[message_body] as xml) as [msg],
      tq.[transmission_status]
from sys.conversation_endpoints ce
    left join sys.transmission_queue tq on tq.[conversation_handle] = ce.[conversation_handle]
order by ce.[send_sequence] desc;



Модератор: Неужели так тяжело ваши портянки оформлять тегом src?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949462
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таргет
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949465
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите в чем может быть трабла?
Все настроил корректно,брокеры работают.Сертификат 1 на сервер нужен,ибо в мастере регится.
Что может быть не так?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949512
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

с виду все хорошо.

ну сделайте так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
--на обоих серверах
create event session [sb_monitor] on server 
add event [broker_conversation],
add event [broker_message_classify],
add event [broker_message_undeliverable],
add event [broker_queue_disabled],
add event [broker_remote_message_acknowledgement],
add event [broker_transmission_acksm_action_fire],
add event [broker_transmission_deliverysm_action_fire],
add event [broker_transmission_exception]
add target [package0].[ring_buffer]
with (max_memory = 8 MB, event_retention_mode = ALLOW_SINGLE_EVENT_LOSS,max_dispatch_latency = 30 SECONDS, track_causality = on);
go

alter event session [sb_monitor] on server state = START;




потом сделайте отправку сообщения в службу и покажите результат с обоих серверов:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
      s.[total_buffer_size],
      s.[dropped_event_count],
      try_cast(t.[target_data] as xml)
from sys.dm_xe_sessions s 
    join sys.dm_xe_session_targets t on t.event_session_address = s.address 
where s.[name] = 'sb_monitor';
go

alter event session [sb_monitor] on server state = STOP;




xml будет возможно большая, заверните в спойлер сообщения тэги "[ spoiler][ /spoiler]" без пробелов
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949530
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

<RingBufferTarget truncated="0" processingTime="0" totalEventsProcessed="49" eventCount="49" droppedCount="0" memoryUsed="6874">
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.285Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>9CCE7ADD-4E71-4C25-901F-06A2E4BD0D8F-0</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.285Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.285Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.285Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-4</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:24.300Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>9CCE7ADD-4E71-4C25-901F-06A2E4BD0D8F-0</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.300Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:24.300Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.828Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-4</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.828Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.828Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.828Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-4</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:27.829Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>9CCE7ADD-4E71-4C25-901F-06A2E4BD0D8F-0</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.829Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.829Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-5</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-6</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>752F0DF8-C4D5-4B8E-8836-221DD1463E40-8</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-4</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-5</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:27.899Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-6</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-5</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-6</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-8</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-4</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-5</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.463Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>90</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>527A4242-046A-4D6D-8DBC-300364E55375</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-6</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.618Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>CB45AA6F-5A5C-470B-91B8-1E58BB133296-8</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.618Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.618Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.618Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-4</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:38.619Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.619Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-8</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.619Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>98</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7805480B-D313-4AB9-B5AA-E62201464A35</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-9</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-4</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>E877FA17-3483-4DF7-89B3-66BBF2A86E70-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>E877FA17-3483-4DF7-89B3-66BBF2A86E70-2</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>E877FA17-3483-4DF7-89B3-66BBF2A86E70-3</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>E877FA17-3483-4DF7-89B3-66BBF2A86E70-4</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-8</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:38.733Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>99</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>A15555B7-5066-4556-92C0-4EB2E39D7621</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-9</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-5</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-6</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F672368D-BB6A-4679-A819-A0B49A4373D0-8</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-10</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-11</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T15:07:47.238Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>92</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>2EA26EFA-9DB4-4F20-B8A3-033E38689564</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-12</value>
</action>
</event>
</RingBufferTarget>

...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949608
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

что то не то, нет событий отправки новых сообщений. должно было быть событие broker message classify.

почистите лишние диалоги:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @sql varchar(max) = '';
select @sql += char(13) + char(10) + ' end conversation ' + quotename([conversation_handle], char(39)) + ' with cleanup' from sys.conversation_endpoints;
select @sql

if len(@sql) > '' begin
    set @sql = 'begin try' + @sql + char(13) + char(10) + ' end try' + char(13) + char(10) + 'begin catch' + char(13) + char(10) + 'begin try' + @sql + char(13) + char(10) + 'end try ' + char(13) + char(10) + 'begin catch' +char(13) + char(10) + 'print error_message()' + char(13) + char(10) + 'end catch' + char(13) + char(10) + 'end catch'
    exec (@sql)
end
print @sql;



после этого еще раз отправьте сообщение.

убедитесь перед отправкой что xEvent сессия включена:
Код: sql
1.
2.
3.
4.
5.
--должна вернуться строчка
select * from sys.dm_xe_sessions where [name] = 'sb_monitor';

--если не вернется то раскоментить и выполнить: 
--alter event session [sb_monitor] on server state = START;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949741
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слишком длинное сообщение.
Скажите куда смотреть
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949744
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сообщение я не получил,в итоге
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949748
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник


<RingBufferTarget truncated="0" processingTime="0" totalEventsProcessed="25" eventCount="25" droppedCount="0" memoryUsed="4052">
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.699Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>3BBCB4D8-9571-48E2-8602-88887785058E-127</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.699Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>3BBCB4D8-9571-48E2-8602-88887785058E-130</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.699Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>3BBCB4D8-9571-48E2-8602-88887785058E-133</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.699Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>3BBCB4D8-9571-48E2-8602-88887785058E-136</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T19:56:28.699Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1933</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.700Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1936</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:28.700Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>89</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>42C6406A-5493-434A-8A8E-D0AE24B1A61E</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1939</value>
</action>
</event>
<event name="broker_conversation" package="sqlserver" timestamp="2020-04-21T19:56:30.012Z">
<data name="database_id">
<type name="uint32" package="package0" />
<value>5</value>
</data>
<data name="conversation_action">
<type name="broker_conversation_action" package="sqlserver" />
<value>11</value>
<text>BEGIN DIALOG</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="conversation_state">
<type name="broker_dialog_state" package="sqlserver" />
<value>1</value>
<text>STARTED_OUTBOUND</text>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>7C9F1483-5D11-42C0-801F-913D4B71020D</value>
</data>
<data name="conversation_handle">
<type name="guid" package="package0" />
<value>94A4433E-F36B-1410-81B1-00A7AA021AA4</value>
</data>
<data name="conversation_group_id">
<type name="guid" package="package0" />
<value>9AA4433E-F36B-1410-81B1-00A7AA021AA4</value>
</data>
<data name="initiator_service_name">
<type name="unicode_string" package="package0" />
<value>s1Insert</value>
</data>
<data name="initiator_broker_name">
<type name="unicode_string" package="package0" />
<value>B15DAC7C-4503-4B53-AEC6-24EF41B74252</value>
</data>
<data name="target_service_name">
<type name="unicode_string" package="package0" />
<value>s2Insert</value>
</data>
<data name="target_broker_name">
<type name="unicode_string" package="package0" />
<value />
</data>
<data name="service_contract_name">
<type name="unicode_string" package="package0" />
<value>DEFAULT</value>
</data>
<data name="database_name">
<type name="unicode_string" package="package0" />
<value>TelemedDB</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>FE7DA66F-50C1-4C10-B481-3A20F2BD0B49-0</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>01302580-BF1D-455F-B908-5070863A2A80-1</value>
</action>
</event>
<event name="broker_conversation" package="sqlserver" timestamp="2020-04-21T19:56:30.059Z">
<data name="database_id">
<type name="uint32" package="package0" />
<value>5</value>
</data>
<data name="conversation_action">
<type name="broker_conversation_action" package="sqlserver" />
<value>1</value>
<text>Send Message</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="conversation_state">
<type name="broker_dialog_state" package="sqlserver" />
<value>2</value>
<text>CONVERSING</text>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>7C9F1483-5D11-42C0-801F-913D4B71020D</value>
</data>
<data name="conversation_handle">
<type name="guid" package="package0" />
<value>94A4433E-F36B-1410-81B1-00A7AA021AA4</value>
</data>
<data name="conversation_group_id">
<type name="guid" package="package0" />
<value>9AA4433E-F36B-1410-81B1-00A7AA021AA4</value>
</data>
<data name="initiator_service_name">
<type name="unicode_string" package="package0" />
<value>s1Insert</value>
</data>
<data name="initiator_broker_name">
<type name="unicode_string" package="package0" />
<value>B15DAC7C-4503-4B53-AEC6-24EF41B74252</value>
</data>
<data name="target_service_name">
<type name="unicode_string" package="package0" />
<value>s2Insert</value>
</data>
<data name="target_broker_name">
<type name="unicode_string" package="package0" />
<value />
</data>
<data name="service_contract_name">
<type name="unicode_string" package="package0" />
<value>DEFAULT</value>
</data>
<data name="database_name">
<type name="unicode_string" package="package0" />
<value>TelemedDB</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>01302580-BF1D-455F-B908-5070863A2A80-4</value>
</action>
</event>
<event name="broker_message_classify" package="sqlserver" timestamp="2020-04-21T19:56:30.059Z">
<data name="delayed_error_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_source">
<type name="broker_message_source" package="sqlserver" />
<value>1</value>
<text>Local</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="route_type">
<type name="broker_route_type" package="sqlserver" />
<value>2</value>
<text>Remote</text>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>7C9F1483-5D11-42C0-801F-913D4B71020D</value>
</data>
<data name="delayed_error">
<type name="unicode_string" package="package0" />
<value />
</data>
<data name="next_hop_broker_instance">
<type name="unicode_string" package="package0" />
<value>3792BFF9-708D-4E28-ABB4-4D53855C9F4D</value>
</data>
<data name="next_hop_address">
<type name="unicode_string" package="package0" />
<value>TCP://10.0.0.248:4022</value>
</data>
<data name="to_broker_instance">
<type name="unicode_string" package="package0" />
<value />
</data>
<data name="to_service_name">
<type name="unicode_string" package="package0" />
<value>s2Insert</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>01302580-BF1D-455F-B908-5070863A2A80-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:30.100Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196270680703014</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>5</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>109</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>7C9F1483-5D11-42C0-801F-913D4B71020D</value>
</data>
<action name="attach_activity_id_xfer" package="package0">
<type name="activity_id_xfer" package="package0" />
<value>3BBCB4D8-9571-48E2-8602-88887785058E-138</value>
</action>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-1</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-4</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-7</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-10</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-13</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>1</value>
<text>CancelDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-16</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>13</value>
<text>IncrementResendCount</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-19</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>5</value>
<text>DeliveryTimerExpired</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>8</value>
<text>ResetSendInformation</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-22</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>6</value>
<text>SendMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>5</value>
<text>SendMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>F6D97C38-6909-4519-86EF-73E45EEA2918-25</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-2014</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-2017</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.369Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>95</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>0C2E1664-2981-4A50-8A5C-92E592DF3ECE</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>C3D82A46-09E9-4E03-B876-B04373AD0DE1-2020</value>
</action>
</event>
<event name="broker_remote_message_acknowledgement" package="sqlserver" timestamp="2020-04-21T19:56:32.370Z">
<data name="acknowledgement_type">
<type name="broker_acknowledgement_type" package="sqlserver" />
<value>1</value>
<text>Message with Acknowledgement Sent</text>
</data>
<data name="is_initiator">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="acknowledgement_fragment_number">
<type name="int32" package="package0" />
<value>0</value>
</data>
<data name="message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="acknowlegment_message_sequence">
<type name="int64" package="package0" />
<value>0</value>
</data>
<data name="priority">
<type name="int8" package="package0" />
<value>5</value>
</data>
<data name="is_honor_broker_priority">
<type name="boolean" package="package0" />
<value>false</value>
</data>
<data name="conversation_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1942</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.370Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>6</value>
<text>SentMessages</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1945</value>
</action>
</event>
<event name="broker_transmission_deliverysm_action_fire" package="sqlserver" timestamp="2020-04-21T19:56:32.370Z">
<data name="asb_id">
<type name="uint64" package="package0" />
<value>13304196279270637590</value>
</data>
<data name="database_id">
<type name="uint32" package="package0" />
<value>7</value>
</data>
<data name="initiator_flag">
<type name="boolean" package="package0" />
<value>true</value>
</data>
<data name="unique_id">
<type name="uint64" package="package0" />
<value>94</value>
</data>
<data name="event">
<type name="broker_transmission_deliverysm_event" package="sqlserver" />
<value>7</value>
<text>SentMessages</text>
</data>
<data name="action">
<type name="broker_transmission_deliverysm_action" package="sqlserver" />
<value>2</value>
<text>SetDeliveryTimer</text>
</data>
<data name="dialog_id">
<type name="guid" package="package0" />
<value>C0961E2D-D626-419E-BABD-CEA253D8CA82</value>
</data>
<action name="attach_activity_id" package="package0">
<type name="activity_id" package="package0" />
<value>BFE75FB3-872D-4DDC-BE93-AC13BC4671C4-1948</value>
</action>
</event>
</RingBufferTarget>

...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949765
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм..вот ошибка..
10060(A connection attempt failed because the connected party did not properly
respond after a period of time, or established connection failed because connected host has failed to respond.)
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949771
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос такой..
Например на 1 сервер у меня порт 4022..Этот порт мониторится ,что 1 точка = 1 порт?
Проще говоря на другую БД другой порт?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949788
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрался
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949794
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Вопрос такой..
Например на 1 сервер у меня порт 4022..Этот порт мониторится ,что 1 точка = 1 порт?
Проще говоря на другую БД другой порт?


нет. жто точка входа на сервер. она одна на весь экземпляр.
все сообщения приходят на прослушиватель порта, и потом раскидываются по маршрутам из базы msdb

вот сейчас трасса правильная но она только с инициатора, посмотрите такую же на таргете
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949911
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
Вопрос такой..
Например на 1 сервер у меня порт 4022..Этот порт мониторится ,что 1 точка = 1 порт?
Проще говоря на другую БД другой порт?


нет. жто точка входа на сервер. она одна на весь экземпляр.
все сообщения приходят на прослушиватель порта, и потом раскидываются по маршрутам из базы msdb

вот сейчас трасса правильная но она только с инициатора, посмотрите такую же на таргете


Так..вопрос такой.
У меня отключается очередь..почему может такое быть?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949914
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

из-за откатов транзакций по ошибке.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39949923
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
felix_ff
пропущено...


нет. жто точка входа на сервер. она одна на весь экземпляр.
все сообщения приходят на прослушиватель порта, и потом раскидываются по маршрутам из базы msdb

вот сейчас трасса правильная но она только с инициатора, посмотрите такую же на таргете


Так..вопрос такой.
У меня отключается очередь..почему может такое быть?


это значит что у вас включенна активация на очереди с опцией poison_message_handling (по умолчанию включена)

в случае если в процедуре активации будет производится откат транзакции то по достижении 5 откатов подряд очередь автоматически отключится.

анализируйте свою процедуру активации на наличие ошибок или явных rollback transaction
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950312
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч
пропущено...


Так..вопрос такой.
У меня отключается очередь..почему может такое быть?


это значит что у вас включенна активация на очереди с опцией poison_message_handling (по умолчанию включена)

в случае если в процедуре активации будет производится откат транзакции то по достижении 5 откатов подряд очередь автоматически отключится.

анализируйте свою процедуру активации на наличие ошибок или явных rollback transaction


Да,нашел.
Еще вопрос.
Полазил по сайтам не нашел инфо такого рода.
Нужно ли держать диалог открытым в условиях постоянного обмена сообщениями или же закрывать и открывать каждый раз при отправке?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950400
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

зависит от вашей бизнес модели.
если вас устраивает что вы в рамках одного диалога обмениваетесь сообщениями то пожалуйста.

учтите только что в рамках одного диалога поддержка многозадачности активации на диалоге исключается.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950408
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

зависит от вашей бизнес модели.
если вас устраивает что вы в рамках одного диалога обмениваетесь сообщениями то пожалуйста.

учтите только что в рамках одного диалога поддержка многозадачности активации на диалоге исключается.

Можно подробнее про многозадачность?
насколько трудоемкий процесс для БД открытия и закрытия диалога?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950443
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Очередь - внутренее это таблица. открытие диалога почти тоже самое что добавление строки в таблицу (с оговорками конечно).

Для самих диалогов используются внутрение системные таблицы sysdercv sysdesend. ими управляет ядро и вам особого дела до них нет. можно сказать что управление выполнено эффективно: в один момент может быть открыто несколько милионов диалогов и это не будет большой проблемой.
Другое дело что если вы не будете своевременно диалоги закрывать они так и будут копиться в таблице, а чем большими данными оперирует сиквел как известно, тем медленней процесс.

Под многозадачностью я понимал процесс активации в котором экземпляр процедуры активации может запускаться на очереди в нескольких сессиях подряд.
у вас же есть возможность указать в инструкции alter queue опцию MAX_QUEUE_READRES. это собственно и есть контроль количества возможных параллельных сессий которые будут запускать процедуру активации.
по умолчаю каждые 5 секунд внутренний монитор на очереди проверяет справляется ли процедура активации с разгребанием сообщений в очереди, если сообщения продолжают поступать он подключает еще один экземпляр хранимки в обработку и так далее до достижения лимита max_queue_readers или пока не наступит момент когда экземпляров процедурок будет хватать.

но инструкция receive накладывает блокировку на ключ conversation_hanlde поэтому если у вас к примеру 1000000 сообщений в одном диалоге и вы считаете что сейчас "брокер разгонится и как начнет в 10 сессий вычитывать сообщения из этого диалога" то сильно ошибаетесь, экземпляр процедуры активации действительно запустится в одной сессии и начнет обрабатывать данные этого конкретного диалога, только делать он это будет один, больше экземпляров хранимок не запустится.

поэтому если нужно быстро разгрести огромный поток сообщений то лучше организовать отправку в виде пачек к примеру на один диалог 10 сообщений или просто отправить миллион сообщений в миллион диалогов. но здесь четкой рекомендации нет, надо тестировать на каждой отдельно взятой системе.

опять таки же все еще зависит от того как написать процедуру активации.
есть еще внешняя активация, которая тоже крайне полезна, описывать ее не буду легче нагуглить Service Broker External Activation
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950478
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Очередь - внутренее это таблица. открытие диалога почти тоже самое что добавление строки в таблицу (с оговорками конечно).

Для самих диалогов используются внутрение системные таблицы sysdercv sysdesend. ими управляет ядро и вам особого дела до них нет. можно сказать что управление выполнено эффективно: в один момент может быть открыто несколько милионов диалогов и это не будет большой проблемой.
Другое дело что если вы не будете своевременно диалоги закрывать они так и будут копиться в таблице, а чем большими данными оперирует сиквел как известно, тем медленней процесс.

Под многозадачностью я понимал процесс активации в котором экземпляр процедуры активации может запускаться на очереди в нескольких сессиях подряд.
у вас же есть возможность указать в инструкции alter queue опцию MAX_QUEUE_READRES. это собственно и есть контроль количества возможных параллельных сессий которые будут запускать процедуру активации.
по умолчаю каждые 5 секунд внутренний монитор на очереди проверяет справляется ли процедура активации с разгребанием сообщений в очереди, если сообщения продолжают поступать он подключает еще один экземпляр хранимки в обработку и так далее до достижения лимита max_queue_readers или пока не наступит момент когда экземпляров процедурок будет хватать.

но инструкция receive накладывает блокировку на ключ conversation_hanlde поэтому если у вас к примеру 1000000 сообщений в одном диалоге и вы считаете что сейчас "брокер разгонится и как начнет в 10 сессий вычитывать сообщения из этого диалога" то сильно ошибаетесь, экземпляр процедуры активации действительно запустится в одной сессии и начнет обрабатывать данные этого конкретного диалога, только делать он это будет один, больше экземпляров хранимок не запустится.

поэтому если нужно быстро разгрести огромный поток сообщений то лучше организовать отправку в виде пачек к примеру на один диалог 10 сообщений или просто отправить миллион сообщений в миллион диалогов. но здесь четкой рекомендации нет, надо тестировать на каждой отдельно взятой системе.

опять таки же все еще зависит от того как написать процедуру активации.
есть еще внешняя активация, которая тоже крайне полезна, описывать ее не буду легче нагуглить Service Broker External Activation


Черт..огонь.
Был бы Оскар для форумчан дал бы вам ,без сомнения.
Про внешний активатор и не слышал даже..
Скажите,на свой практике вы его использовали?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950495
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черт..огонь.
Был бы Оскар для форумчан дал бы вам ,без сомнения.
Про внешний активатор и не слышал даже..
Скажите,на свой практике вы его использовали?

использовал.

Проблема внутренней активации в том что как я уже написал внутренний таймер мониторинга срабатывает каждые 5 секунд.
Это хард-код поведение которое никак не изменить. То есть даже при явном наличии большого пула сообщений внутренняя активация разгоняется до максимального количества одновременно работающих процедур активации относительно небыстро.

А вот внешняя активация устроена так что помимо основной очереди, есть еще "следящая" очередь. закидивая сообщения определенного типа в следяющуу очередь можно вызвать "внешний" обработчик очереди в которую поступают сообщения. это может быть ваша собственная самописная программа или уже готовое решение от microsoft (называется ssbeas). оно как раз следит за начилием сообщений в следящей очереди постоянной инструкцией waitfor receive и как только в следящую очередь поступает сообщение вызывает логику которая начинает вычитку сообщений из основной очереди.
в этом плане можно легко контролировать кол-во одновременно работающий обработчиков очереди. не хватает к примеру: запулил сразу 10 сообщений в следящую очередь и в тот же момент поднялось 10 внешних приложений которые начали вычитывать сообщения из основной очереди.

написал может быть сумбурно немного но лучше качните ssbeas там есть справка в виде вордовского документа, да и на просторах гугла можно найти примеры как реализуется внешняя активация. лично я писал собственную.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950525
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Черт..огонь.
Был бы Оскар для форумчан дал бы вам ,без сомнения.
Про внешний активатор и не слышал даже..
Скажите,на свой практике вы его использовали?


использовал.

Проблема внутренней активации в том что как я уже написал внутренний таймер мониторинга срабатывает каждые 5 секунд.
Это хард-код поведение которое никак не изменить. То есть даже при явном наличии большого пула сообщений внутренняя активация разгоняется до максимального количества одновременно работающих процедур активации относительно небыстро.

А вот внешняя активация устроена так что помимо основной очереди, есть еще "следящая" очередь. закидивая сообщения определенного типа в следяющуу очередь можно вызвать "внешний" обработчик очереди в которую поступают сообщения. это может быть ваша собственная самописная программа или уже готовое решение от microsoft (называется ssbeas). оно как раз следит за начилием сообщений в следящей очереди постоянной инструкцией waitfor receive и как только в следящую очередь поступает сообщение вызывает логику которая начинает вычитку сообщений из основной очереди.
в этом плане можно легко контролировать кол-во одновременно работающий обработчиков очереди. не хватает к примеру: запулил сразу 10 сообщений в следящую очередь и в тот же момент поднялось 10 внешних приложений которые начали вычитывать сообщения из основной очереди.

написал может быть сумбурно немного но лучше качните ssbeas там есть справка в виде вордовского документа, да и на просторах гугла можно найти примеры как реализуется внешняя активация. лично я писал собственную.

Под линукс есть?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950541
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

интересно, какой бизнес-кейс требует столь интенсивного использования брокера?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950547
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

готовое из коробки от мелкомягких только под винду, можно запустить в эмуляторе типа wine или VMware
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950560
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
felix_ff,

интересно, какой бизнес-кейс требует столь интенсивного использования брокера?



у нас в основном он используется с целью перевода в асинхронную модель обработки документов тормозной АБС.
по бизнес процессу некое начисление должно создать достаточно большой пул документов за относительно короткий промежуток времени. из-за невозможности ни горизонтального масштабирования ни использования параллелизма, модель сообщений подошла как нельзя кстати, при этом инфраструктурных изменений потребовалось минимум.

а на прошлых местах работы у нас обработка карточных транзакций была построенна на компоненте, там существенную роль играла гарантия доставки, время от времени канал мог отваливаться и то что SB сам разруливает ситуацию доступности сервиса таргета сильно экономило время и нервы.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39950657
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
felix_ff,

интересно, какой бизнес-кейс требует столь интенсивного использования брокера?


Например игтеграцию между различными системами..кол-во записей в день 1 сторону около 4 млн
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39952144
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,
Итак.
Настраиваю в очередной раз SB.
Постоянно какие-то разные траблы

Настроил все везд..Отправляю на таргет

IF OBJECT_ID('TelemedDBStore..Test', 'U') IS NOT NULL DROP TABLE Test ;
create table Test (id int identity(0,1),Test varchar (max))

Получаю

Connection handshake failed. The login 'public' does not have CONNECT permission on the endpoint. State 84.
Права на логин дал
grant send on service::s2Insert to public;
grant send on service::s2Update to public;
grant send on service::s2Delete to public;
Что может быть не так?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39952147
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм..почему-то пользователю не дались права на точки
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39952151
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

у Вас текущее сообщение об ошибке это транспортный уровень, вы аутентификацию не по сертификату что ли настроили?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955731
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Никак не пойму в чем проблема.
Настроил все,посылаю в очередь.
Проверяю запросом

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select top (11)
      ce.[conversation_handle], 
      ce.[state],
      ce.[far_broker_instance],
      ce.[security_timestamp],
      tq.[from_service_name],
      ce.[far_service],
      cast(tq.[message_body] as xml) as [msg],
      tq.[transmission_status]
from sys.conversation_endpoints ce
    left join sys.transmission_queue tq on tq.[conversation_handle] = ce.[conversation_handle]
order by ce.[send_sequence] desc;



Скрин
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955732
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А до таргета не доходит.
Подскажите,что может быть не так?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955733
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня соединение не открывается почему-то
Код: sql
1.
select * from sys.dm_broker_connections
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955825
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
У меня соединение не открывается почему-то
Код: sql
1.
select * from sys.dm_broker_connections



Если соединения нет значит накосячили с эндпоинтами, проверьте наличие сертификатов и конечных точек.

Код: sql
1.
select * from sys. Dm_service_broker_endpoints
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955827
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том,что я уже настраивал неоднократно..скрины вот
На 1-и м 2-м скрине данные по сертификатам из Source сервера.
Все норм
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955839
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Ну этот скриншот действительно выглядит норм, непонятно правда почему удиалога far_ broker_ instance нулевой. Ну запустите евент- сессию на обоих серверах я тут в этом топике ее код гдето приводил и посмотрите возникающие события. В случае ошибок будут message undeliverable.

С телефона не удобно просто писать
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955929
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Ну этот скриншот действительно выглядит норм, непонятно правда почему удиалога far_ broker_ instance нулевой. Ну запустите евент- сессию на обоих серверах я тут в этом топике ее код гдето приводил и посмотрите возникающие события. В случае ошибок будут message undeliverable.

С телефона не удобно просто писать


Может я притормаживаю..где нужно создавать сертификаты из Бэкапа?
Например забрал созданный сертифкат с сервера 1.
Закинул его на сервер 2.
Далее на сервере 2 в какой БД создаю из из бэкапа сертификат?В master или в той,в которой буду что-то делать?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955939
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Ну этот скриншот действительно выглядит норм, непонятно правда почему удиалога far_ broker_ instance нулевой. Ну запустите евент- сессию на обоих серверах я тут в этом топике ее код гдето приводил и посмотрите возникающие события. В случае ошибок будут message undeliverable.

С телефона не удобно просто писать


Трассу запустил..ошибок нет.
В чем еще может быть трабла?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955947
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Для транспортной аутентификации сертификаты создаются в master
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39955960
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Для транспортной аутентификации сертификаты создаются в master


Да,все верно.
Пересоздал сертификаты.
В 5-й раз
Ошибка
Connection handshake failed. The login 'public' does not have CONNECT permission on the endpoint. State 84.
Понимаю,что у этого логина нет прав на коннект к точке.
НО.
Все права даны.

GRANT CONNECT ON ENDPOINT::[sb] TO [public]

Подскажите,что это за фантасмагория?
Еще я создал сертификаты с датой начала и конца.
Критично ли ,что конец сертификата в 2999 году и начало в 2000?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956026
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть идеи?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956042
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Максим Александровитч#22130683]
felix_ff
Максим Александровитч,

Подскажите,что это за фантасмагория?
Еще я создал сертификаты с датой начала и конца.
Критично ли ,что конец сертификата в 2999 году и начало в 2000?


нет. у вас дата действия сертификата не должна быть истекшей, так как на дворе 2020 а не 2999 то это роли не играет.

Connection handshake failed. The login 'public' does not have CONNECT permission on the endpoint. State 84.
Понимаю,что у этого логина нет прав на коннект к точке.
НО.
Все права даны.

GRANT CONNECT ON ENDPOINT::[sb] TO [public]


это странно, покажите то что я просил раньше, на обоих серверах
Код: sql
1.
2.
select * from sys.service_broker_endpoints;
select [name], [certificate_id], [principal_id], [pvt_key_encryption_type], [expiry_date], [pvt_key_last_backup_date] from sys.certificates;
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956094
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Source
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956095
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Target
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956096
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
target
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956098
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да что такое..
Target.Почему-то на сурсе не хватает сертификата auth_cert
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956127
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Target.Почему-то на сурсе не хватает сертификата auth_cert

ну вы сами ответ озвучили.

+ обратите внимание на столбцы connection_auth_desc, certificate_id из sys.service_broker_endpoints, они у вас на скриншот не попали.
но там должен быть id локального сертификата и матод аутентификации CERTIFICATE, если будет что то другое то значит неправильно точка настроена.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956178
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

проверю сейчас
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956332
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
Максим Александровитч,

Target.Почему-то на сурсе не хватает сертификата auth_cert

ну вы сами ответ озвучили.

+ обратите внимание на столбцы connection_auth_desc, certificate_id из sys.service_broker_endpoints, они у вас на скриншот не попали.
но там должен быть id локального сертификата и матод аутентификации CERTIFICATE, если будет что то другое то значит неправильно точка настроена.

Да,все совпадает..
Вываливатется ошибка

Connection handshake failed. The login 'public' does not have CONNECT permission on the endpoint. State 84.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956428
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,


напишите мне в skype, логин такой же. вы явно где-то допустили ошибку, но несколько неправильно превращать топик в театр двух героев.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956466
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

не забывате, что вас читают, поэтому о результатах просьба отписаться..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956474
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Момент..
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956475
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я отпишусь
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956480
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956581
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел где-то глубоко к кулуарах,что трабла в сертификатах..т.к. на транспортном уровне юзеры не важны
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956584
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соответсвенно, после того как для сервера предоставлен сертификат,но клиент не видит его(не может в master найти),то идет проверка на общедоступное разрешение CONNECT на конечной точке.
Получается,что нужно понять почему у меня нет доступа от DB_OWNER на Connect..
И зачем вообще,если не найден сертификат,давать общий доступ для Public
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956591
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Соответсвенно, после того как для сервера предоставлен сертификат,но клиент не видит его(не может в master найти),то идет проверка на общедоступное разрешение CONNECT на конечной точке.
Получается,что нужно понять почему у меня нет доступа от DB_OWNER на Connect..
И зачем вообще,если не найден сертификат,давать общий доступ для Public



Всё , что не разрешено для public, то разрешено ТОЛЬКО для dbo, sa, ... Компоненты (внешние) запускаются под кем?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956593
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_
Максим Александровитч
Соответсвенно, после того как для сервера предоставлен сертификат,но клиент не видит его(не может в master найти),то идет проверка на общедоступное разрешение CONNECT на конечной точке.
Получается,что нужно понять почему у меня нет доступа от DB_OWNER на Connect..
И зачем вообще,если не найден сертификат,давать общий доступ для Public



Всё , что не разрешено для public, то разрешено ТОЛЬКО для dbo, sa, ... Компоненты (внешние) запускаются под кем?


Вы имеете ввиду службу SQL?
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956596
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумал. Я юзаю Линукс. Чисто теоретически,может ли быть трабла в том, что обладателем прав на сертификаты является не пользователь SQL, в данном случае не служебный пользователь от которого запущена служба скуля
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956646
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет,смена пользователей не помогла.
Все так же
Connection handshake failed. The login 'public' does not have CONNECT permission on the endpoint. State 84.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956653
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 10 раз пересоздал сертификаты.
В итоге
Connection attempt failed with error: '10061(No connection could be made because the target machine actively refused it.)'.
При этом порты все открыты
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956909
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема была в том,что время сурс-сервера сбилось.ТО SQL отличалось от серверного
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39956956
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Проблема была в том,что время сурс-сервера сбилось.ТО SQL отличалось от серверного

?!
Это особенности *nix-ов ? Или установка часового пояса и проч? В винде о таком не слышал....
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39957003
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_,

причем что интересно проблема была не очевидна, там какие только ошибки не сыпались:

10061 (No connection could be made because the target machine actively refused it.)'.

чето типа "receive data transfer failed ..."

единственная которая насторожила - когда он начал ругаться на ошибку отметки времени сообщения:
This message could not be delivered because its message timestamp has expired or is invalid.

именно тогда решили попробовать пересоздать сертификат заново и он ругнулся стандартным предупреждением что дата начала сертификата еще не наступила, а ТС до этого создавал сертификаты с директивой start_date где то в районе 2000 года поэтому такого предупреждения не было, что могло бы натолкнуть на посмотреть что там с временем.
...
Рейтинг: 0 / 0
Service Broker для репликации
    #39957014
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SIMPLicity_
Максим Александровитч
Проблема была в том,что время сурс-сервера сбилось.ТО SQL отличалось от серверного

?!
Это особенности *nix-ов ? Или установка часового пояса и проч? В винде о таком не слышал....


Я даже не овтечу..я в 1-е такое вижу..
Но факт таков,что после синхронизации - все восстановилось
...
Рейтинг: 0 / 0
179 сообщений из 179, показаны все 8 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Service Broker для репликации
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]