title: "SQL Server Service Broker | Microsoft Docs" ms.custom: "" ms.date: "03/30/2018" ms.prod: sql ms.prod_service: high-availability ms.reviewer: "" ms.suite: "sql" ms.technology: configuration ms.tgt_pltfrm: "" ms.topic: conceptual f1_keywords:
- "SQL13.SWB.SSBMSGTYPEPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBCONTRACTPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBQUEUEPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBREMSVCBINDPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBROUTEPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBPRIORITYPROPERTIES.GENERAL.F1"
- "SQL13.SWB.SSBSERVICEPROPERTIES.GENERAL.F1" helpviewer_keywords:
- "Broker See Service Broker"
- "SQL Server Service Broker"
- "Service Broker" ms.assetid: 8b8b3b57-fd46-44de-9a4e-e3a8e3999c1e caps.latest.revision: 22 author: MikeRayMSFT ms.author: mikeray manager: craigg monikerRange: "= azuresqldb-mi-current || >= sql-server-2016 || = sqlallproducts-allversions"
[!INCLUDEappliesto-ss-asdbmi-xxxx-xxx-md]
[!INCLUDEssNoVersion] [!INCLUDEssSB] provides native support for messaging and queuing applications in the [!INCLUDEssDEnoversion]. This makes it easier for developers to create sophisticated applications that use the [!INCLUDEssDE] components to communicate between disparate databases. Developers can use [!INCLUDEssSB] to easily build distributed and reliable applications.
Application developers who use [!INCLUDEssSB] can distribute data workloads across several databases without programming complex communication and messaging internals. This reduces development and test work because [!INCLUDEssSB] handles the communication paths in the context of a conversation. It also improves performance. For example, front-end databases supporting Web sites can record information and send process intensive tasks to queue in back-end databases. [!INCLUDEssSB] ensures that all tasks are managed in the context of transactions to assure reliability and technical consistency.
[!INCLUDEssMIlimitation]
The reference documentation for [!INCLUDEssSB] is included in the [!INCLUDEssCurrent] documentation. This reference documentation includes the following sections:
-
Data Definition Language (DDL) Statements (Transact-SQL) for CREATE, ALTER, and DROP statements
-
Service Broker Related Dynamic Management Views (Transact-SQL)
See the previously published documentation for [!INCLUDEssSB] concepts and for development and management tasks. This documentation is not reproduced in the [!INCLUDEssCurrent] documentation due to the small number of changes in [!INCLUDEssSB] in [!INCLUDEssCurrent].
No significant changes are introduced in [!INCLUDEssCurrent]. The following changes were introduced in [!INCLUDEssSQL11].
The syntax of the SEND (Transact-SQL) statement has been extended to enable multicast by supporting multiple conversation handles.
Queues have a new column, message_enqueue_time, that shows how long a message has been in the queue.
The CREATE QUEUE (Transact-SQL) and ALTER QUEUE (Transact-SQL) statements now have the ability to enable or disable poison message handling by adding the clause, POISON_MESSAGE_HANDLING (STATUS = ON | OFF). The catalog view sys.service_queues now has the column is_poison_message_handling_enabled to indicate whether poison message is enabled or disabled.
For more information, see Service Broker with Always On Availability Groups (SQL Server).