Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Service Broker-toepassingen bestaan uit een of meer programma's en de databaseobjecten die door deze programma's worden gebruikt. Toepassingen communiceren door gesprekken te maken tussen onafhankelijke onderdelen die services worden genoemd en vervolgens berichten in die gesprekken uit te wisselen. Toepassingen gebruiken Service Broker door Transact-SQL instructies uit te voeren in een SQL Server-database.
Toepassingsonderdelen
Een Service Broker-toepassing bestaat uit:
Een of meer programma's die een taak of gerelateerde set taken implementeren. Buiten SQL Server kunnen toepassingen worden geschreven in elke programmeeromgeving die Transact-SQL instructies in SQL Server kan uitvoeren. Binnen SQL Server kunnen toepassingen worden geschreven als opgeslagen procedures met behulp van Transact-SQL of een common Language Runtime-compatibele taal (CLR).
Een service die de taken beschikbaar maakt voor andere services. Een service is een Service Broker-object dat een adresseerbare naam biedt voor een set gerelateerde taken. Andere services starten gesprekken met deze service om de taken uit te voeren.
Een contract- en berichttype waarmee de structuur en richting van de berichten worden gedefinieerd die worden gebruikt in de communicatie tussen de services.
Een wachtrij voor het opslaan van berichten voor de service.
Optioneel routes en externe servicebindingen. Routes koppelen een netwerkadres aan de naam van een externe service. Externe servicebindingen koppelen een servicenaam aan een lokale database-principal. Service Broker gebruikt het certificaat dat is gekoppeld aan de opgegeven principal voor het afhandelen van autorisatie voor de externe service en versleuteling van de berichten die worden uitgewisseld met de externe service. Service Broker staat toe dat de routes en externe servicebindingen worden geconfigureerd terwijl de toepassing in implementatie is zonder dat er wijzigingen in de toepassing nodig zijn. Hierdoor kunnen beheerders services verplaatsen en beveiligingsreferenties wijzigen zonder wijzigingen in de toepassingscode. Zie Beheer (Service Broker) voor meer informatie over het configureren van routes en externe servicebindingen.
Service Broker DML
Normaal gesproken stelt een toepassing de servicedefinitieobjecten in op het moment van de installatie. Tijdens het uitvoeren verzendt en ontvangt de toepassing berichten met behulp van DML (Service Broker Data Manipulation Language). De DML-instructies vallen in drie algemene categorieën: berichten, gesprekken en gespreksgroepen:
Messages
Service Broker biedt de volgende bewerkingen ter ondersteuning van het werken met berichten:
De
SENDopdracht verzendt een bericht over een specifiek gesprek.De
RECEIVEinstructie ontvangt een of meer berichten uit een wachtrij. Alle ontvangen berichten behoren tot dezelfde gespreksgroep.
Gesprekken
Service Broker biedt de volgende bewerkingen ter ondersteuning van het werken met gesprekken:
De
BEGIN DIALOG CONVERSATIONverklaring begint een gesprek tussen twee diensten. Omdat het gesprek precies twee services omvat, is het een dialoog.De
END CONVERSATIONverklaring beëindigt één kant van een gesprek.De
BEGIN CONVERSATION TIMERverklaring levert een timerbericht voor een dialoog aan één kant van een gesprek op een specifiek tijdstip.De
GET_TRANSMISSION_STATUSinstructie retourneert een beschrijving van de laatste overdrachtsfout voor een gesprek. Als de laatste poging om een bericht te verzenden voor het gesprek is geslaagd, retourneert de verklaring geen beschrijving.
Gespreksgroepen
Service Broker biedt twee bewerkingen voor het werken met gespreksgroepen:
De
GET CONVERSATION GROUPinstructie retourneert de gespreksgroep-id voor het volgende ontvangen bericht in een wachtrij. De verklaring vergrendelt ook de gespreksgroep.Met de
MOVE CONVERSATIONinstructie wordt een gesprek van de ene gespreksgroep naar de andere verplaatst. De instructie vergrendelt zowel de oorspronkelijke gespreksgroep als de doelgespreksgroep.
Verwante inhoud
- GESPREKSTIMER STARTEN (Transact-SQL)
- DIALOOGVENSTER STARTEN (Transact-SQL)
- GESPREK VERPLAATSEN (Transact-SQL)
- GESPREKSGROEP OPHALEN (Transact-SQL)
- VERZENDEN (Transact-SQL)
- GESPREK beëindigen (Transact-SQL)
- GET_TRANSMISSION_STATUS (Transact-SQL)
- ONTVANG (Transact-SQL)
- Contracten
- Dialoogvenstergesprekken
- Gespreksgroepen
- Berichttypen
- Messages
- Wachtrijen
- Services
- Toepassingen bouwen met Service Broker
- Externe servicebindingen
- Routes