SQL Server Service BrokerSQL Server Service Broker

Este tópico aplica-se a: Simdo SQL Serversembanco de dados do SQL AzuresemAzure SQL Data Warehouse sem Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse SQL ServerSQL Server Service BrokerService Broker dá suporte nativo para aplicativos de mensagens e enfileiramento no Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine. SQL ServerSQL Server Service BrokerService Broker provides native support for messaging and queuing applications in the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine. Isso facilita para os desenvolvedores a criação de aplicativos sofisticados que usam os componentes do Mecanismo de Banco de DadosDatabase Engine para comunicação entre bancos de dados díspares.This makes it easier for developers to create sophisticated applications that use the Mecanismo de Banco de DadosDatabase Engine components to communicate between disparate databases. Os desenvolvedores podem usar o Service BrokerService Broker para criar facilmente aplicativos distribuídos e confiáveis.Developers can use Service BrokerService Broker to easily build distributed and reliable applications.

Os desenvolvedores de aplicativos que usam o Service BrokerService Broker podem distribuir cargas de trabalho de dados por vários bancos de dados sem programação de comunicação complexa e mensagens internas.Application developers who use Service BrokerService Broker can distribute data workloads across several databases without programming complex communication and messaging internals. Isso reduz o trabalho de desenvolvimento e teste porque o Service BrokerService Broker controla os caminhos de comunicação no contexto de uma conversa.This reduces development and test work because Service BrokerService Broker handles the communication paths in the context of a conversation. Isso também melhora o desempenho.It also improves performance. Por exemplo, bancos de dados front-end que oferecem suporte a sites podem gravar informações e enviar tarefas intensivas de processamento para enfileiramento em bancos de dados back-end.For example, front-end databases supporting Web sites can record information and send process intensive tasks to queue in back-end databases. Service BrokerService Broker garante que todas as tarefas sejam gerenciadas no contexto de transações para assegurar a confiabilidade e a consistência técnica. ensures that all tasks are managed in the context of transactions to assure reliability and technical consistency.

Onde está a documentação do Service Broker?Where is the documentation for Service Broker?

A documentação de referência do Service BrokerService Broker está incluída na documentação do SQL Server 2017SQL Server 2017 .The reference documentation for Service BrokerService Broker is included in the SQL Server 2017SQL Server 2017 documentation. Esta documentação de referência inclui as seguintes seções:This reference documentation includes the following sections:

Novidades no Service BrokerWhat's new in Service Broker

Nenhuma alteração significativa foi introduzida no SQL Server 2017SQL Server 2017.No significant changes are introduced in SQL Server 2017SQL Server 2017. As alterações a seguir foram introduzidas no SQL Server 2012SQL Server 2012.The following changes were introduced in SQL Server 2012SQL Server 2012.

As mensagens podem ser enviadas a vários serviços de destino (multicast)Messages can be sent to multiple target services (multicast)

A sintaxe da instrução SEND (Transact-SQL) foi estendida para habilitar o multicast, dando suporte a vários identificadores de conversa.The syntax of the SEND (Transact-SQL) statement has been extended to enable multicast by supporting multiple conversation handles.

Filas expõem o tempo de enfileiramento da mensagemQueues expose the message enqueued time

Filas têm uma nova coluna, message_enqueue_time, que mostra quanto tempo uma mensagem permaneceu na fila.Queues have a new column, message_enqueue_time, that shows how long a message has been in the queue.

A manipulação de mensagens suspeitas pode estar desabilitadaPoison message handling can be disabled

As instruções CREATE QUEUE (Transact-SQL) e ALTER QUEUE (Transact-SQL) agora tem a capacidade de habilitar ou desabilitar a manipulação de mensagens suspeitas adicionando a cláusula POISON_MESSAGE_HANDLING (STATUS = ON | OFF).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). A exibição de catálogo sys.service_queues agora tem a coluna is_poison_message_handling_enabled para indicar se a mensagem suspeita está habilitada ou desabilitada.The catalog view sys.service_queues now has the column is_poison_message_handling_enabled to indicate whether poison message is enabled or disabled.

Suporte AlwaysOn no Service BrokerAlways On support in Service Broker

Para obter mais informações, consulte Service Broker com Grupos de Disponibilidade AlwaysOn (SQL Server).For more information, see Service Broker with Always On Availability Groups (SQL Server).