如何调试从SQL Server 2008中的Service Broker队列运行的存储过程?

Dor*_*man 4 debugging service-broker sql-server-2008

我有一个带有复杂触发器的表,最终调用Service Broker来运行带有参数(存储类型)的存储过程.

我可以"进入"INSERT和触发器,但我无法进入服务代理存储过程,因为它据我所知运行异步.

有没有办法进入Service Broker运行和调试它的存储过程?

谢谢.

小智 10

要调试它(使用管理工作室调试器),您可以更改队列以关闭激活.

ALTER QUEUE queue_name 
WITH ACTIVATION (STATUS = OFF); 
Run Code Online (Sandbox Code Playgroud)

运行insert语句然后手动运行和调试激活过程就像使用任何存储过程一样.这样,在调试时队列中会有一些东西.然后在完成使用STATUS = ON后恢复激活.