jga*_*fin 1 sql-server service-broker
我当前的客户端需要能够查看 SQL Server Service Broker 队列中的消息。当前的实现使用 RECEIVE 和 rollback 来窥视。
由于这会生成对事务日志的写入,我想知道 SELECT TOP(1) 是否会返回与 RECEIVE 命令相同的行?
该队列有多个作者,但只有一个读者。
不。RECEIVE 构造了一个不能用 SELECT 构造的查询 AST。RECEIVE 必须保证 EOIO 和会话组锁定,SELECT 没有。
Service Broker 具有内置的“窥视”功能:GET CONVERSATION GROUP
. 这将锁定下一个可用的会话组,如果您在同一事务中发出 RECEIVE ,则保证您会收到一条消息。我强烈反对使用它。
您尝试执行的任何其他操作都已损坏,您需要更改应用程序以停止执行此操作。始终发出 RECEIVE 并对返回的消息结果集做出反应。
归档时间: |
|
查看次数: |
311 次 |
最近记录: |