经过多次搜索Service Broker后,我遇到了this question and answer:
我的场景类似于那里提到的场景,因为我在表上有一个SQL触发器,在这个触发器中我调用xp_cmdshell将主键信息传递给外部exe。
我可以看到设置Service Broker队列和服务的价值,而不是在表上使用触发器。据我了解,我设置为处理队列中的消息的激活片段现在包含我对xp_cmdshell的调用。
但是,我无法弄清楚如何将“更改为表中的数据”事件作为触发事件。我希望CREATE EVENT NOTIFICATION
子句有一个ON TABLE [x] FOR [INSERT|UPDATE]
部分,但事实并非如此。
任何指针都会受到赞赏。