Sql server 在嵌套事务中发送和接收SQL Server Service Broker消息
我想使用SQLServer2008ServiceBroker来记录由存储过程动态创建的长时间运行(最多30分钟)事务的进度。我有两个目标: 1) 要实时记录组成事务的动态创建语句,以便远程监控事务的进度 2) 能够查看组成事务的步骤,直到出现需要回滚的故障 我不能简单地将(或RAISERROR(msg,0,0))打印到控制台,因为我想将进度消息记录到表中(即使存储过程回滚,也要保留该日志)Sql server 在嵌套事务中发送和接收SQL Server Service Broker消息,sql-server,service-broker,Sql Server,Service Broker,我想使用SQLServer2008ServiceBroker来记录由存储过程动态创建的长时间运行(最多30分钟)事务的进度。我有两个目标: 1) 要实时记录组成事务的动态创建语句,以便远程监控事务的进度 2) 能够查看组成事务的步骤,直到出现需要回滚的故障 我不能简单地将(或RAISERROR(msg,0,0))打印到控制台,因为我想将进度消息记录到表中(即使存储过程回滚,也要保留该日志) 但我的理解是,在发送线程提交(外部事务)之前,无法从队列接收消息。这是真的吗?如果是,我有哪些选项?在提交
但我的理解是,在发送线程提交(外部事务)之前,无法从队列接收消息。这是真的吗?如果是,我有哪些选项?在提交事务之前,您确实无法从服务队列读取消息 您可以尝试其他一些方法:
AJ因非技术原因无法使用CLR。但事实上,这似乎是最好的选择。最后使用NOLOCK提示“偷看”队列中未提交的消息。