|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
На этом закругляюсь, сразу прощу прощения я чето не очень догнал как файлы картинок-вложений запихнуть в спойлеры. Сергей Гавриленко если можно Вас попросить подредактировать мои посты что бы картинки не убили у кого-нибудь траффик на телефоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2018, 22:26 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
felix_ff, огромное спасибо. Добавил в закладки, буду пытаться скурить. На первый взгляд - самое дельное и подробное руководство из всех, что я видел. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2018, 07:47 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
felix_ff, супер! жаль что я это прошел на год раньше через собственные спотыкания. чуть позже дополню как у меня происходит обмен сертификатами между серверами без ручного перекладывания файлов, да и вообще без файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:41 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
felix_ff, спасибо за ответы в теме, на сегодня вы мой бог ) Сделал все как написано и настроил общение между удаленным сервером и сервером в офисе + настроил общение между БД внутри офиса. Начал по аналогии настраивать следующий удаленный сервер, а их около 10 и получаю ошибку "Connection attempt failed with error: '10060(Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.)'." Первое, подумал, что некорректно настроил. Настроил следующий, и такая же ошибка. Где-то есть подвох, которого не понимаю. Как найти ошибку? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2019, 09:40 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
и теперь вообще все поломалось, в профайлере пишет An exception occurred while enqueueing a message in the target queue. Error: 33009, State: 2. The database owner SID recorded in the master database differs from the database owner SID recorded in database 'ServiceBroker'. You should correct this situation by resetting the owner of database 'ServiceBroker' using the ALTER AUTHORIZATION statement. Идентификатор безопасности владельца базы данных, записанный в базе данных master, отличается от идентификатора безопасности владельца базы данных, записанного в базе данных "ServiceBroker". Устраните это различие, сбросив владельца базы данных "ServiceBroker" с помощью инструкции ALTER AUTHORIZATION. ServiceBroker - БД для обмена сообщениями ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2019, 10:17 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Андрей Попов, Вы можете инициализировать брокер через ALTER DATABASE SET NEW_BROKER, но надо понимать, что вы удалите все переговоры conversation и маршруты, если такие были определены. Смотрите справку по этой команде. Утилита ssbdiagnose также в помощь. Вы восстанавливали резервную копию базы на другом сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2019, 12:45 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Владислав КолосовВы восстанавливали резервную копию базы на другом сервере? Нет, настраиваю общение с нуля. Настроил на одном сервере - все ОК. Перешел к следующему и все поломал. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2019, 06:59 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
"Главный" сервер base1. Есть сервер srvshop40 и есть srvshop2. Первым был настроен srvshop40 и обмен между ним и base1 работает. Далее настраиваю по аналогии srvshop2. Думаю, что нашел ошибку, но не понял, как ее исправить: выполняю код отправки (порезанный, см. суть): Код: sql 1. 2. 3. 4. 5. 6. 7.
и поймал момент соединения (см. картинку). Почему то используется пользователь srvshop40_user, а не srvshop2_user. Где я неправ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 03:33 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Андрей Попов, вы ID брокера жестко задаете, в этом проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 11:58 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Владислав Колосов, все правильно с брокером, так и надо если маршрутов много, а сервис на них один и тот же. здесь проблема в пользователях. у меня центральный лезет на периферию одним и тем же пользователем, а вот обратно они создают диалоги своим собственным. Андрей Попов, у вас безопасность на основе сертификатов? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 13:16 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Владислав КолосовАндрей Попов, вы ID брокера жестко задаете, в этом проблема. Нет. В примере в этом трэде не было указания ID, и я изначально также сделал. Не работает. Потом добавил, безрезультатно. Я концептуально не понимаю связь между пользователем, которому разрешено подключение к endpoint и пользователем сервиса. На главном base1 сервере создана одна точка endpoint и два пользователя srvshop40_user и srvshop2_user с сертификатами из файлов соответствующих серверов. Юзерам дан доступ к точке. Отправка идет через сервисы и там уже два пользователя srvshop40_service_owner и srvshop2_service_owner. Есть маршруты и remote binding для xxx_service_owner. Как скуль должен понять, что при использовании сервиса для отправки для srvshop2 нужно использовать сертификат пользователя srvshop2_user? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 13:21 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Андрей Попов, немного ушли в сторону. предположим, что у вас в центре уже есть 'сертификат центра' и endpoint с аутентификацией по 'сертификату центра' на периферийной точке создать 'сертификат точки' создать endpoint с аутентификацией по 'сертификату точки' создать логин (которым будет цеплятся центр, он един на всех точках) создать пользователя для логина создать сертификат для пользователя из 'сертификата центра' предоставить права на соединение с endpoint логину на центре создать 'логин точки' (для каждой точки свой) создать 'пользователя точки' для 'логина точки' создать 'сертификат для пользователя точки' из 'сертификата точки' предоставить права на соединение с endpoint 'логину точки' если все сделано так, то никаких сервис биндинг в этом случае не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 13:47 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
я обещал выложить процедуру как я создаю транспорт на основе сертификатов и обмениваюсь ими без файлов. выкладываю как есть, без всяких комментов и правок. это рабочий код, которым пользуюсь уже 2 года раз 10 в месяц. сбоев еще не было. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 14:14 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Андрей Попови теперь вообще все поломалось, в профайлере пишет An exception occurred while enqueueing a message in the target queue. Error: 33009, State: 2. The database owner SID recorded in the master database differs from the database owner SID recorded in database 'ServiceBroker'. You should correct this situation by resetting the owner of database 'ServiceBroker' using the ALTER AUTHORIZATION statement. Идентификатор безопасности владельца базы данных, записанный в базе данных master, отличается от идентификатора безопасности владельца базы данных, записанного в базе данных "ServiceBroker". Устраните это различие, сбросив владельца базы данных "ServiceBroker" с помощью инструкции ALTER AUTHORIZATION. ServiceBroker - БД для обмена сообщениями Добрый день, судя по ошибке у вас база с именем 'ServiceBroker' была восстановлена из бэкапа, при этом владелец базы отличается от того который был на другом сервере, для начала Вам необходимо устранить данную проблему. сравните Код: sql 1. 2.
скорее всего они будут разные, если так то выполните Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2019, 15:48 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Привет! Подскажите, какие у кого стратегии работы с нежелательными сообщениями, когда после 5 попыток очередь останавливается? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 18:10 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Nemoxur, предусмотреть обработку кода в ситуации когда у вас происходит откат транзакции. адд: дополнительно лично у меня еще для подстраховки xEvent сессия настроена, для сбора событий отключения очереди в которую переодически ломится задание делающее рассылку уведомлений какая очередь вдруг каким то чудом отключилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 19:37 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Nemoxur, найти ошибку, исправить, принять превентивные меры. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2020, 20:24 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
felix_ff, Согласен) если не сложно, можно пример такого xEvent? Владислав Колосов, Согласен) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 13:15 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Nemoxur, дополнительно можно настроить уведомление event notification об отключении очереди, существует такое событие. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2020, 13:16 |
|
Как обнаружить ошибку при работе service broker?
|
|||
---|---|---|---|
#18+
Nemoxur felix_ff, Согласен) если не сложно, можно пример такого xEvent? Владислав Колосов, Согласен) Код: sql 1. 2. 3. 4.
я вам полный код процедуры приводить не буду, там достаточно много завязано на бизнес логику процедуры которая работает под шедулером. по сути Вам правильно подсказали - можно обойтись настройкой event notification: Код: 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.
процедура подписки мониторинга Код: 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.
подписка очередей на мониторинг Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 19:55 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1685681]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 143ms |
0 / 0 |