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 använder vägar för att avgöra var meddelanden ska levereras. När en tjänst skickar ett meddelande i en konversation använder SQL Server vägar för att hitta den tjänst som ska ta emot meddelandet. När den tjänsten svarar använder SQL Server återigen vägar för att hitta den initierande tjänsten. Som standard innehåller varje databas en väg som anger att meddelanden för alla tjänster som inte har en explicit väg levereras i SQL Server-instansen.
Det finns tre grundläggande komponenter i en väg:
Tjänstnamn
Namnet på den tjänst som den här vägen anger adressering för. Det här namnet måste vara en exakt matchning för tjänstnamnet i
BEGIN DIALOGkommandot .Brokerinstansidentifierare
En unik identifierare för en specifik databas som meddelandena ska skickas till. Det här är
service_broker_guidkolumnen i tabellradensys.databasesför databasen som den här vägen pekar på.Nätverksadress
En faktisk datoradress, ett nyckelord som begränsar vägen till den lokala datorn eller ett nyckelord som anger att transportlagret härleder adressen från tjänstnamnet. En nätverksadress kan vara adressen till den asynkron meddelandekö som är värd för tjänsten, eller så kan det vara adressen till en vidarebefordrande asynkron meddelandekö.
För att fastställa vägen för en konversation matchar SQL Server tjänstnamnet och koordinatorinstansidentifieraren som angavs i -instruktionen BEGIN DIALOG CONVERSATION mot tjänstnamnet och koordinatorinstansidentifieraren som anges i vägen. Vägar som inte anger ett tjänstnamn matchar något tjänstnamn. Vägar som inte tillhandahåller en koordinatorinstansidentifierare matchar någon koordinatorinstansidentifierare. När mer än en väg matchar en konversation väljer SQL Server en väg enligt beskrivningen i Service Broker-routning.
SQL Server garanterar att alla efterföljande meddelanden på konversationsvägen till samma databas när målet bekräftar det första meddelandet. Andra konversationer i samma konversationsgrupp är dock inte garanterade att dirigera till samma databas. Om ett program kräver att meddelanden på relaterade konversationer dirigeras till samma databas måste programmet ange en koordinatorinstansidentifierare när programmet påbörjar en konversation.
Som standard innehåller varje användardatabas vägen AutoCreatedLocal. Den här vägen matchar alla tjänstnamn och asynkrona instanser och anger att meddelandet ska levereras i den aktuella instansen. För enkla scenarier där både initieraren och målet för konversationen finns i samma SQL Server-instans behövs inga ytterligare vägar. Att skapa en väg för varje tjänst hjälper dock till att skydda mot att ändra eller ta bort autoskapaLokal väg.