• 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自动激活模拟"秒杀"场景

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

  • 相关阅读:
    添加远程库
    远程仓库
    删除url中某个参数
    html2canvas.js——HTML转Canvas工具
    vue-cli3与vue-cli2的区别和vue-cli 怎么修改配置
    vue打包后出现一些map文件的解决方法
    微信app右上角自带分享功能
    微信授权获取用户openId的方法和步骤
    支付宝小程序webview里的h5跳转回小程序
    new Date
  • 原文地址:https://www.cnblogs.com/shanyou/p/2545095.html
Copyright © 2020-2023  润新知