SQL Service Broker для уведомления внешнего приложения - PullRequest
1 голос
/ 15 марта 2011

После долгих поисков в Service Broker я наткнулся на этот вопрос и ответ :

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

Я вижу значение настройки очереди и службы компонента Service Broker вместо использования триггера для таблицы.Насколько я понимаю, sproc активации, который я настроил для обработки сообщений в очереди, теперь будет содержать мой вызов xp_cmdshell.

Однако я не могу понять, как подключить «изменение данных втаблица "событие как запускающее событие.Я ожидал бы, что в предложении CREATE EVENT NOTIFICATION есть часть ON TABLE [x] FOR [INSERT|UPDATE], но это не так.

Любые указатели приветствуются.

1 Ответ

1 голос
/ 15 марта 2011

Ссылка , которую вы указали, действительно дает отличный ответ на ваш вопрос. Как описано здесь , функция уведомления о событиях действительно предназначена для изменений состояния DDL и базы данных. Вероятно, вам нужно придерживаться триггеров, но сделать вызов xp_cmdshell асинхронным. Я действительно не думаю, что можно дать лучший ответ, чем тот, который Ремус дал на связанный вопрос.

...