Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Ten temat zawiera informacje dotyczące konfigurowania usługi Service Broker do pracy z zawsze włączonymi grupami dostępności w programie SQL Server.
Odbieranie zdalnych komunikatów z innych instancji usługi Service Broker
Upewnij się, że grupa dostępności posiada odbiornik.
Aby uzyskać więcej informacji, zobacz Tworzenie lub konfigurowanie listenera grupy dostępności (SQL Server).
Upewnij się, że punkt końcowy usługi Service Broker istnieje i jest poprawnie skonfigurowany.
Na każdym wystąpieniu programu SQL Server, które hostuje replikę dostępności dla grupy dostępności, skonfiguruj punkt końcowy usługi Service Broker w następujący sposób:
Ustaw LISTENER_IP na wartość "ALL". To ustawienie umożliwia nawiązywanie połączeń na dowolnym prawidłowym adresie IP powiązanym z odbiornikiem grupy dostępności.
Ustaw port Brokera Usług na ten sam numer we wszystkich instancjach serwera hosta.
Napiwek
Aby wyświetlić numer portu punktu końcowego Service Broker w danym wystąpieniu serwera, wykonaj zapytanie o kolumnę port widoku wykazu sys.tcp_endpoints, gdzie type_desc = 'SERVICE_BROKER'.
Poniższy przykład tworzy punkt końcowy usługi Service Broker uwierzytelniony w systemie Windows, który używa domyślnego portu usługi Service Broker (4022) i nasłuchuje wszystkich prawidłowych adresów IP.
CREATE ENDPOINT [SSBEndpoint] STATE = STARTED AS TCP (LISTENER_PORT = 4022, LISTENER_IP = ALL ) FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS)
Aby uzyskać więcej informacji, zobacz CREATE ENDPOINT (Transact-SQL).
Nota
Usługa SQL Server Service Broker nie jest świadoma wielu podsieci. Ustaw
RegisterAllProvidersIP
wartość 0 i sprawdź, czy klaster ma wymagane uprawnienia w systemie DNS do używania statycznych adresów IP. Zobacz , jak skonfigurować odbiornik grupy dostępności, aby dowiedzieć się więcej. Usługa Service Broker może opóźniać wiadomość ze statusem "CONVERSING", próbując użyć wyłączonego adresu IP.Przyznaj uprawnienie CONNECT dla punktu końcowego.
Przyznaj uprawnienie CONNECT w punkcie końcowym usługi Service Broker do publicznego lub logowania.
Poniższy przykład przyznaje połączenie w punkcie końcowym Service Broker o nazwie
SSBEndpoint
dla PUBLIC.GRANT CONNECT ON ENDPOINT::[SSBEndpoint] TO [PUBLIC]
Aby uzyskać więcej informacji, zobacz GRANT (Transact-SQL).
Upewnij się, że MSDB zawiera trasę utworzoną automatycznie lokalną lub trasę do określonej usługi.
Notatka
Domyślnie każda baza danych użytkowników, w tym msdb, zawiera trasę AutoCreatedLocal. Ta ścieżka pasuje do dowolnej nazwy usługi i instancji brokera, wskazując, że komunikat powinien zostać dostarczony w bieżącym wystąpieniu. Auto-Tworzenie Lokalne ma niższy priorytet niż trasy, które jawnie wskazują usługę komunikującą się z wystąpieniem zdalnym.
Aby uzyskać informacje na temat tworzenia tras, zobacz Przykłady routingu Service Broker (wwersji Książki Online dla SQL Server 2008 R2 (10.50.x)) i CREATE ROUTE (Transact-SQL).
Wymagania dotyczące wysyłania komunikatów do usługi zdalnej w grupie dostępności
Utwórz trasę do usługi docelowej.
Skonfiguruj trasę w następujący sposób:
Ustaw wartość ADDRESS na adres IP odbiornika grupy dostępności, która hostuje bazę danych usługi.
Ustaw port na port określony w punkcie końcowym usługi Service Broker dla każdego z zdalnych wystąpień programu SQL Server.
Poniższy przykład tworzy trasę o nazwie
RouteToTargetService
dla usługiISBNLookupRequestService
. Trasa dotyczy nasłuchiwacza grupy dostępnościMyAgListener
, który używa portu 4022.CREATE ROUTE [RouteToTargetService] WITH SERVICE_NAME = 'ISBNLookupRequestService', ADDRESS = 'TCP://MyAgListener:4022';
Aby uzyskać więcej informacji, zobacz CREATE ROUTE (Transact-SQL).
Upewnij się, że msdb zawiera trasę auto-tworzoną lokalną lub trasę do określonej usługi. (Aby uzyskać więcej informacji, zobacz Wymagania dotyczące usługi w grupie dostępności do odbierania komunikatów zdalnych, wcześniej w tym temacie).
Powiązane zadania
Zobacz też
omówienie zawsze włączonych grup dostępności (SQL Server)
odbiorniki grupy dostępności, łączność klienta i tryb failover aplikacji (SQL Server)
SQL Server Service Broker