在对 Service Broker 进行大量搜索之后,我遇到了这个问题和答案:
我的场景与那里提到的类似,因为我在表上有一个 SQL 触发器,在这个触发器中我调用 xp_cmdshell 将主键信息传递给外部 exe。
我可以看到设置 Service Broker 队列和服务而不是在表上使用触发器的价值。据我了解,我为处理队列中的消息而设置的激活存储过程现在将包含我对 xp_cmdshell 的调用。
但是,我不知道如何将“更改表中的数据”事件作为触发事件。我希望该CREATE EVENT NOTIFICATION
条款对它有ON TABLE [x] FOR [INSERT|UPDATE]
一部分,但它没有。
任何指针将不胜感激。