我有一个带有复杂触发器的表,它最终调用 Service Broker 来运行一个带有表(自定义类型)参数的存储过程。
我可以“步入” INSERT 和触发器,但我不能步入服务代理存储过程,因为据我所知,它是异步运行的。
有没有办法利用 Service Broker 运行的存储过程并调试它?
谢谢。
最佳答案
要调试它(使用管理工作室调试器),您可以更改队列以关闭激活。
ALTER QUEUE queue_name
WITH ACTIVATION (STATUS = OFF);
运行插入语句,然后像使用任何存储过程一样手动运行和调试激活过程。
这样,在调试时队列中就会有一些东西。
然后用完
STATUS = ON
恢复激活。
关于sql-server-2008 - 如何调试从 SQL Server 2008 中的 Service Broker 队列运行的存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7704633/