SQL Server Service Broker - SQL Server (2024)

  • Article

S’applique à: SQL Server Service Broker - SQL Server (1)SQL Server SQL Server Service Broker - SQL Server (2)Azure SQL Managed Instance

SQL Server Service Broker fournit une prise en charge native de la messagerie et de la mise en file d’attente dans le Moteur de base de données SQL Server et Azure SQL Managed Instance. Les développeurs peuvent créer plus facilement des applications perfectionnées qui utilisent les composants de Moteur de base de données pour la communication entre des bases de données disparates, et créer des applications fiables et distribuées.

Quand utiliser Service Broker?

Utilisez les composants de Service Broker pour implémenter des fonctionnalités natives de traitement des messages asynchrones dans la base de données. Les développeurs d'applications qui utilisent Service Broker peuvent distribuer les charges de données sur plusieurs bases de données sans développer des mécanismes de messagerie et de communication complexes. Service Broker réduit le travail de développement et de test car Service Broker gère les chemins de communication dans le contexte d’une conversation. Les performances sont aussi meilleures. Par exemple, les bases de données frontales prenant en charge les sites Web peuvent enregistrer des informations et mettre des tâches intensives en file d'attente dans des bases de données principales. Service Broker garantit que toutes les tâches sont gérées dans le contexte des transactions afin d’assurer une fiabilité et une cohérence techniques.

Vue d’ensemble

Service Broker est un framework de remise de message qui vous permet de créer des applications natives orientées service dans la base de données. Contrairement aux fonctionnalités de traitement des requêtes classiques qui lisent constamment les données à partir des tables et les traitent au cours du cycle de vie de requête, dans une application orientée service vous avez des services de base de données qui échangent des messages. Chaque service dispose d’une file d’attente où les messages sont placés jusqu’à ce qu’ils soient traités.

SQL Server Service Broker - SQL Server (3)

Les messages dans les files d’attente peuvent être extraits à l’aide de la commande Transact-SQL RECEIVE ou par la procédure d’activation qui est appelée chaque fois que le message arrive dans la file d’attente.

Création de services

La création des services de base de données s’effectue à l’aide de l’instruction Transact-SQL CREATE SERVICE. Le service peut être associée à la file d’attente de message créée à l’aide de l’instruction CREATE QUEUE:

CREATE QUEUE dbo.ExpenseQueue;GOCREATE SERVICE ExpensesService ON QUEUE dbo.ExpenseQueue; 

Envoi de messages

Les messages sont envoyés sur la conversation entre les services à l’aide de l’instruction Transact-SQL SEND. Une conversation est un canal de communication établi entre les services à l’aide de l’instruction Transact-SQL BEGIN DIALOG.

DECLARE @dialog_handle UNIQUEIDENTIFIER;BEGIN DIALOG @dialog_handle FROM SERVICE ExpensesClient TO SERVICE 'ExpensesService'; SEND ON CONVERSATION @dialog_handle (@Message) ; 

Le message est envoyé vers ExpenssesService et placé dans dbo.ExpenseQueue. Comme aucune procédure d’activation n’est associée à cette file d’attente, le message reste dans la file d’attente jusqu’à ce qu’un utilisateur le lise.

Traitement des messages

Les messages placés dans la file d’attente peuvent être sélectionnés à l’aide d’une requête SELECT standard. L’instruction SELECT ne modifie pas la file d’attente et ne supprime pas les messages. Pour lire et extraire les messages de la file d’attente, vous pouvez utiliser l’instruction Transact-SQL RECEIVE.

RECEIVE conversation_handle, message_type_name, message_body FROM ExpenseQueue; 

Une fois que vous avez traité tous les messages de la file d’attente, vous devez fermer la conversation à l’aide de l’instruction Transact-SQL END CONVERSATION.

Emplacement de la documentation de Service Broker

La documentation de référence pour Service Broker est incluse dans la documentation de SQL Server . Cette documentation de référence comprend les sections suivantes:

  • Instructions DDL (Data Definition Language) (Transact-SQL) pour les instructions CREATE, ALTER et DROP

  • Instructions de Service Broker

  • Affichages catalogue relatifs à Service Broker (Transact-SQL)

  • Vues de gestion dynamique liées à Service Broker (Transact-SQL)

  • Utilitaire ssbdiagnose (Service Broker)

Consultez la documentation précédemment publiée pour les concepts Service Broker et pour les tâches de gestion et de développement. Cette documentation n'est pas reproduite dans la documentation de SQL Server en raison du petit nombre de changements apportés à Service Broker dans les versions récentes de SQL Server.

Nouveautés dans Service Broker

Service Broker et Azure SQL Managed Instance

L’échange de messages inter-instances de Service Broker entre les instances d’Azure SQL Managed Instance et l’échange de messages entre SQL Server et Azure SQL Manage Instance est actuellement en phase de prévision publique:

  • CREATE ROUTE:le port spécifié doit être 4022. Voir CREATE ROUTE.
  • ALTER ROUTE:le port spécifié doit être 4022. Voir ALTER ROUTE.

La sécurité du transport est prise en charge, pas la sécurité du dialogue:

  • CREATE REMOTE SERVICE BINDING n’est pas pris en charge.

Service Broker est activé par défaut et ne peut pas être désactivé. Les options ALTER DATABASE suivantes ne sont pas prises en charge:

  • ENABLE_BROKER
  • DISABLE_BROKER

Aucune modification importante n’a été introduite dans SQL Server 2019 (15.x). Les modifications suivantes ont été introduites dans SQL Server 2012 (11.x).

Les messages peuvent être envoyés à des services cibles (multidiffusion).

La syntaxe de l’instruction SEND (Transact-SQL) a été étendue pour permettre la multidiffusion au moyen de la prise en charge de plusieurs descripteurs de conversation.

Les files d'attente exposent le temps d'empilement des messages.

Les files d’attente ont une nouvelle colonne, message_enqueue_time, qui indique depuis combien de temps un message est dans la file d’attente.

La gestion des messages incohérents peut être désactivée

Les instructions CREATE QUEUE (Transact-SQL) et ALTER QUEUE (Transact-SQL) ont désormais la possibilité d’activer ou désactiver la gestion des messages incohérents en ajoutant la clause POISON_MESSAGE_HANDLING (STATUS = ON | OFF). L’affichage catalogue sys.service_queues comprend maintenant la colonne is_poison_message_handling_enabled pour indiquer si le message incohérent est activé ou désactivé.

Prise en charge d’Always On dans Service Broker

Pour plus d’informations, consultez Service Broker avec les groupes de disponibilité Always On (SQL Server).

Étapes suivantes

L’utilisation la plus courante de Service Broker concerne les notifications d’événements. Découvrez comment Implémenter des notifications d'événements, Configurer la sécurité du dialogue ou Obtenir plus d’informations.

SQL Server Service Broker - SQL Server (2024)

FAQs

What is the SQL Server Service Broker? ›

SQL Server Service Broker provides native support for messaging and queuing applications. Developers use Server Broker to create complex applications that use the database engine components to communicate between several SQL Server databases.

How to find service broker in SQL Server? ›

In SQL Server Management Studio, go to Databases > OperationsManager > Service Broker.

How to install service broker in SQL Server? ›

To install a Service Broker service, the developer gives the administrator a set of installation scripts. These scripts typically include the Transact-SQL statements that are required to create the message types, contracts, queues, services, and stored procedures for the service.

What is the function of service broker? ›

Service Broker provides two primary functions: Mediation between applications (service logic) and different networks. This function provides applications with access to switching and session control layers in different network domains (PSTN, PLMN, NGN,IMS), together with the required protocol.

When to use a service broker? ›

Service Broker can be useful for any application that needs to perform processing asynchronously, or that needs to distribute processing across a number of computers. Typical uses of Service Broker include: Asynchronous triggers. Reliable query processing.

How do I stop a service broker in SQL Server? ›

When message delivery is not active, messages remain in the transmission queue. To determine whether Service Broker is active for a database, check the is_broker_enabled column of the sys. databases catalog view. Alter the database to set the DISABLE_BROKER option.

What is the performance of service broker in SQL Server? ›

The performance of a Service Broker application is generally determined by two factors: The number of messages arriving within a specified period of time. The speed with which the application processes each message.

How to check SQL service broker port? ›

Open SQL Server Configuration Manager

In SQL Server Configuration Manager, expand SQL Server Network Configuration and then select Protocols for <instance name> on the left panel. To identify the TCP/IP Port used by the SQL Server Instance, right click on TCP/IP and select Properties from the drop down as shown below.

How do I enable service broker in SQL Server Msdb? ›

To enable Service Broker in the msdb database, first stop SQL Server Agent. Then, Service Broker can obtain the necessary lock. DISABLE_BROKER. This option deactivates Service Broker message delivery, preserving the existing Service Broker identifier for the database.

What is one main disadvantage of using a full-service broker? ›

Disadvantages of full-service brokers

Higher Fees: Full-service brokers typically charge higher commissions and fees compared to discount brokers. These fees can eat into your investment returns over time.

What is the main purpose of a broker? ›

The main function of a broker is to solve a client's problem for a fee. The secondary functions include lending to clients for margin transactions, provide information support about the situation on trading platforms, etc. The three types of brokerage are online, discount, and full-service brokerages.

Who should use a full-service broker? ›

In general, full-service brokers are suitable for investors that want a human touch and guidance and don't feel comfortable making investment decisions on their own. Discount brokers are more suited for investors who are looking for lower-cost investments and enjoy doing their investment research.

What does SQL Server service do? ›

The SQL Server Browser service listens for incoming requests for SQL Server resources and provides clients information about SQL Server instances installed on the computer. A single instance of the SQL Server Browser service is used by all instances of SQL Server installed on the computer.

Why is SSIS used? ›

What is SSIS used for? A primary responsibility of SQL Server Integration Services is the migration of data from different sources to other destinations. It also offers a wide range of tools and solutions, including a data warehousing tool for ETL, to assist in data integration and workflow activities.

Do I need SQL Server Agent running? ›

Microsoft SQL Server Agent must be running as a service in order to automate administrative tasks. For more information, see Configure SQL Server Agent. Object Explorer only displays the SQL Server Agent node if you have permission to use it.

Top Articles
Gold price forecast 2024/2025/2026: How to analyze the gold price trend?
What Is Artificial Intelligence (AI)? | Google Cloud
Find All Subdomains
Chalupp's Pizza Taos Menu
Wild Smile Stapleton
Walgreens Alma School And Dynamite
Call of Duty: NEXT Event Intel, How to Watch, and Tune In Rewards
Minn Kota Paws
Purple Crip Strain Leafly
Oscar Nominated Brings Winning Profile to the Kentucky Turf Cup
Reddit Wisconsin Badgers Leaked
Erskine Plus Portal
Echat Fr Review Pc Retailer In Qatar Prestige Pc Providers – Alpha Marine Group
Alexander Funeral Home Gallatin Obituaries
Nick Pulos Height, Age, Net Worth, Girlfriend, Stunt Actor
Northeastern Nupath
The Pretty Kitty Tanglewood
Canvasdiscount Black Friday Deals
Hannaford To-Go: Grocery Curbside Pickup
Wisconsin Volleyball Team Boobs Uncensored
Bocca Richboro
Cylinder Head Bolt Torque Values
Mastering Serpentine Belt Replacement: A Step-by-Step Guide | The Motor Guy
Craigslist Middletown Ohio
Gridwords Factoring 1 Answers Pdf
Otis Offender Michigan
Mrstryst
Little Caesars Saul Kleinfeld
Urban Blight Crossword Clue
How to Destroy Rule 34
Go Smiles Herndon Reviews
Magicseaweed Capitola
Pitchfork's Top 200 of the 2010s: 50-1 (clips)
Collier Urgent Care Park Shore
Discover Wisconsin Season 16
Join MileSplit to get access to the latest news, films, and events!
Walmart Pharmacy Hours: What Time Does The Pharmacy Open and Close?
Craigslist Farm And Garden Reading Pa
Exam With A Social Studies Section Crossword
Sour OG is a chill recreational strain -- just have healthy snacks nearby (cannabis review)
Exploring the Digital Marketplace: A Guide to Craigslist Miami
Random Animal Hybrid Generator Wheel
Costco The Dalles Or
Crigslist Tucson
Blog Pch
Mikayla Campinos Alive Or Dead
How To Win The Race In Sneaky Sasquatch
Parks And Rec Fantasy Football Names
Costco Tire Promo Code Michelin 2022
Latest Posts
Article information

Author: Cheryll Lueilwitz

Last Updated:

Views: 6441

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.