Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Service Broker-program består av ett eller flera program och databasobjekten som dessa program använder. Program kommunicerar genom att skapa konversationer mellan oberoende komponenter som kallas tjänster och sedan utbyta meddelanden i dessa konversationer. Program använder Service Broker genom att köra Transact-SQL-instruktioner i en SQL Server-databas.
Programkomponenter
Ett Service Broker-program består av:
Ett eller flera program som implementerar en uppgift eller en relaterad uppsättning aktiviteter. Utanför SQL Server kan program skrivas i valfri programmeringsmiljö som kan köra Transact-SQL-instruktioner i SQL Server. I SQL Server kan program skrivas som lagrade procedurer med hjälp av Transact-SQL eller ett clr-kompatibelt språk (common language runtime).
En tjänst som exponerar uppgifterna för andra tjänster. En tjänst är ett Service Broker-objekt som tillhandahåller ett adresserbart namn för en uppsättning relaterade uppgifter. Andra tjänster startar konversationer med den här tjänsten för att utföra uppgifterna.
Ett kontrakt och meddelandetyper som definierar strukturen och riktningen för de meddelanden som används i kommunikationen mellan tjänsterna.
En kö för att lagra meddelanden för tjänsten.
Du kan också ange rutter och fjärrtjänstbindningar. Rutter kopplar en nätverksadress till namnet på en fjärrtjänst. Fjärrtjänstbindningar associerar ett tjänstnamn med ett lokalt databashuvudnamn. Service Broker använder certifikatet som är associerat med det angivna huvudkontot för att hantera auktorisering för fjärrtjänsten och kryptering av meddelanden som utbyts med fjärrtjänsten. Service Broker tillåter att routningar och fjärrtjänstbindningar konfigureras medan programmet är i distribution utan att kräva ändringar i programmet. Detta gör att administratörer kan flytta tjänster och ändra säkerhetsautentiseringsuppgifter utan ändringar i programkoden. Mer information om hur du konfigurerar vägar och fjärrtjänstbindningar finns i Administration (Service Broker).
Service Broker DML
Vanligtvis konfigurerar ett program tjänstdefinitionsobjekt vid tidpunkten för installationen. När programmet körs skickar och tar det emot meddelanden med hjälp av Service Broker Data Manipulation Language (DML). DML-uttrycken delas in i tre breda kategorier: meddelanden, konversationer och konversationsgrupper:
Messages
Service Broker tillhandahåller följande åtgärder för att stödja arbete med meddelanden:
Instruktionen
SENDskickar ett meddelande på en specifik konversation.Instruktionen
RECEIVEtar emot ett eller flera meddelanden från en kö. Alla mottagna meddelanden tillhör samma konversationsgrupp.
Samtal
Service Broker tillhandahåller följande åtgärder för att stödja arbete med konversationer:
Instruktionen
BEGIN DIALOG CONVERSATIONinleder en konversation mellan två tjänster. Eftersom konversationen omfattar exakt två tjänster är konversationen en dialog.Utsagan
END CONVERSATIONavslutar ena sidan av en konversation.Instruktionen
BEGIN CONVERSATION TIMERlevererar ett dialogtimermeddelande till ena sidan av en konversation vid en viss tidpunkt.Instruktionen
GET_TRANSMISSION_STATUSreturnerar en beskrivning av det senaste överföringsfelet för en konversation. Om det senaste försöket att skicka ett meddelande i konversationen lyckades returnerar uttrycket inte någon beskrivning.
Konversationsgrupper
Service Broker tillhandahåller två åtgärder för att arbeta med konversationsgrupper:
Instruktionen
GET CONVERSATION GROUPreturnerar konversationsgruppens identifierare för nästa mottagbara meddelande i en kö. Uttalandet låser även konversationsgruppen.Instruktionen
MOVE CONVERSATIONflyttar en konversation från en konversationsgrupp till en annan. Instruktionen låser både den ursprungliga konversationsgruppen och målkonversationsgruppen.
Relaterat innehåll
- BEGIN CONVERSATION TIMER (Transact-SQL)
- STARTA DIALOGKONVERSATION (Transact-SQL)
- FLYTTA KONVERSATION (Transact-SQL)
- GET CONVERSATION GROUP (Transact-SQL)
- SEND (Transact-SQL)
- AVSLUTA KONVERSATION (Transact-SQL)
- GET_TRANSMISSION_STATUS (Transact-SQL)
- TA EMOT (Transact-SQL)
- Kontrakt
- Dialogkonversationer
- Konversationsgrupper
- Meddelandetyper
- Messages
- Köer
- Tjänster
- Skapa program med Service Broker
- Fjärrtjänstbindningar
- Vägar