zoukankan      html  css  js  c++  java
  • SQL Server 2012 中的 Service Broker功能的一些改进或增强

    image

    1. 可以将消息发送到多个目标服务(多播)

    通过支持多个会话句柄,扩展了 SEND (Transact-SQL) 语句的语法以启用多播。

    DECLARE @dialog_handle1 UNIQUEIDENTIFIER,
            @dialog_handle2 UNIQUEIDENTIFIER,
            @dialog_handle3 UNIQUEIDENTIFIER,
            @OrderMsg XML ;
    
    SET @OrderMsg = < construct message as appropriate for the application > ;
    
    BEGIN DIALOG @dialog_handle1
    FROM SERVICE [//InitiatorDB/InitiatorService]
    TO SERVICE '//TargetDB1/TargetService’
    ON CONTRACT [//AllDBs/OrderProcessing] ;
    
    BEGIN DIALOG @dialog_handle2
    FROM SERVICE [//InitiatorDB/InitiatorService]
    TO SERVICE '//TargetDB2/TargetService’
    ON CONTRACT [//AllDBs/OrderProcessing] ;
    
    BEGIN DIALOG @dialog_handle3
    FROM SERVICE [//InitiatorDB/InitiatorService]
    TO SERVICE '//TargetDB3/TargetService’
    ON CONTRACT [//AllDBs/OrderProcessing] ;
    
    SEND ON CONVERSATION (@dialog_handle1, @dialog_handle2, @dialog_handle3)
        MESSAGE TYPE [//AllDBs/OrderMsg]
        (@OrderMsg) ;

    2. 队列将公开此消息排队时间

    队列具有一个新列 message_enqueue_time,用于显示消息已在队列中待了多少时间。

     SSB_Message_Enqueue_Time
    3. 可以禁用有害消息处理

    现在,CREATE QUEUE 和 ALTER QUEUE语句可以通过添加子句 POISON_MESSAGE_HANDLING (STATUS = ON | OFF) 来启用或禁用有害消息处理。 目录视图 sys.service_queues 现在具有列 is_poison_message_handling_enabled,以指示是启用还是禁用有害消息。

    POISON_MESSAGE_HANDLING — 指定是否对队列启用有害消息处理。 默认值为 ON。

    将有害消息处理设置为 OFF 的队列在五个连续的事务回滚之后不会被禁用。 这样,应用程序就可以定义自定义的有害消息处理系统。

    4. Service Broker 中的 AlwaysOn 支持

    SQL Server Service Broker Poison Message Handling

    使用ServiceBroker自动激活模拟"秒杀"场景

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    会议记录
    周总结
    团队博客
    周总结
    移动端疫情展示
    代码规范
    阅读笔记2
    解决 import numpy as np ModuleNotFoundError: No module named 'numpy'错误
    周总结
    爬取最新疫情数据
  • 原文地址:https://www.cnblogs.com/shanyou/p/2545095.html
Copyright © 2011-2022 走看看