Расписание брокера сервис для получения автоматического сообщения


Я новичок в SQL Server Service Broker и экспериментирую с ним.

Мне удалось отправить сообщения из одной БД и получить эти сообщения в другой БД (того же SQL-сервера), и я вставляю эти сообщения в таблицу в принимающей БД.

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

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

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

Любой помощь будет оценена по достоинству.

1 2

1 ответ:

То, что вы ищете, называется активацией брокера (в частности, внутренней активацией). По сути, вы можете "прикрепить" хранимую процедуру к очереди компонента Service broker, которая будет вызываться при появлении сообщения в очереди. Читайте Все об этом в BOL.