Имейте рабочего Сервисного Брокера, настроенного на сервере, мы находимся в процессе перемещения в новый сервер, но я, может казаться, не бужу Сервисный набор Брокера на новом поле.
Сделали очевидное (мне) вещи как Включение Брокера на DB, отбросив маршрут, сервисы, контракт, очереди и даже тип сообщения и ре, добавляющее их, установку ALTER QUEUE с СОСТОЯНИЕМ НА
ВЫБЕРИТЕ * ИЗ sys.service_queues
дает мне список очередей, включая мои собственные два, которые показывают как activation_enabled, receive_enabled и т.д.
Само собой разумеется, очереди не работают. Когда я бросаю сообщения в них, ничто не входит, и ничто не выходит.
Какие-либо идеи? Я уверен, что существует что-то действительно очевидное, которое я пропустил...
Просто снимок в темноте:
ALTER AUTHORIZATION ON DATABASE::[restored db name] TO [sa];
dbo восстановленной базы данных - это идентификатор безопасности Windows, который создал базу данных на исходном сервере. Это может быть локальный SID (например, SERVERNAME \ user), который не имеет значения на новом сервере. Эта проблема обычно затрагивает активированные процедуры, и может повлиять на доставку сообщений, причем обе проблемы возникают из-за неспособности SQL олицетворять «dbo». Изменение dbo на действительный SID для входа (например, sa) исправит это.
Если это не поможет, вам нужно отследить, куда отправляются сообщения. Если они остаются в sys.transmission_queue, вы должны проверить Transmission_status. Если они достигают целевой очередиu, но не происходит активации, проверьте ЖУРНАЛ ОШИБОК. Если они исчезают, это означает, что вы выполняете "запустил и забыл" (SEND, за которым сразу следует END), и поэтому вы удаляете сообщение об ошибке, которое указывает причину. Эта статья Диалоги устранения неполадок содержит дополнительные советы, где искать.
И последнее, но не менее важное: попробуйте использовать ssbdiagnose.exe .