Service Broker的应用程序队列禁用事件(Service Broker Applicati

2019-09-22 13:28发布

我想一个选项BROKER_QUEUE_DISABLED在事件通知现在看来,这是不正常生成代理队列禁用事件。 可有一个人请验证这是我创建的脚本? (见下文)

脚本:

CREATE QUEUE NotifyQueue

GO

CREATE

SERVICE NotifyService

ON

QUEUE NotifyQueue

[http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]);


GO

CREATE ROUTE NotifyRoute
 WITH SERVICE_NAME = 'NotifyService',
 ADDRESS = 'LOCAL';
 GO

CREATE

EVENT NOTIFICATION [CHS_QueueDisabledNotif] 

       ON QUEUE [CHS_Change_Queue] WITH FAN_IN 

       FOR BROKER_QUEUE_DISABLED

       TO SERVICE 'NotifyService', 'current database'



--Testing

--Try Disabling Application Queue

ALTER QUEUE dbo.CHS_Change_Queue WITH STATUS = OFF

SELECT * FROM NotifyQueue

Answer 1:

我发现一个回答我的问题:)

如果我们手动关闭队列SQL引擎不会产生禁用事件。 如果在激活过程中出现任何错误时只产生。 我在启动进程内添加自定义错误,像SELECT 1/0那么SQL可以生成禁用事件。



文章来源: Service Broker Application Queue Disable Event