Trasy

Service Broker wykorzystuje trasy określenie miejsca dostarczania wiadomości.Gdy usługa wysyła wiadomość w konwersacji, SQL Server korzysta z trasy do lokalizowania usługi, zostanie wyświetlony komunikat o błędzie.Który usługa odpowiada, SQL Server ponownie używa trasy do lokalizowania usługi inicjujący.Domyślnie każda baza danych zawiera trasa, która określa, że wszelkie usługa, które nie ma jawnej trasa wiadomości są dostarczane w ramach SQL Server wystąpienie.

Istnieją trzy podstawowe składniki trasa:

  • Nazwa usługi
    Nazwa usługa, która trasa ta określa adresowania dla.Nazwa ta musi być dokładne dopasowanie dla Service Name w BEGIN DIALOG polecenia.

  • Identyfikator wystąpienie Broker
    Identyfikator unikatowy dla konkretnej bazy danych do wysyłania wiadomości.Jest to service_broker_guid kolumna w sys.databases wiersza tabela bazy danych, wskazujący tej trasa.

  • Adres sieciowy
    Adres rzeczywisty maszyny, słowo kluczowe, które ogranicza trasa do komputera lokalnego lub słowa kluczowego, które wskazuje, że warstwa transportu deduces adres z nazwą usługa.Adres sieciowy może być adres brokera obsługującego usługa lub adres broker przekazywania.

Aby ustalić trasa do konwersacji, SQL Server pasuje do nazwy usługa i identyfikatora wystąpienie broker, zostały określone w instrukcja rozpocząć KONWERSACJĘ okno DIALOGOWE nazwa usługa i brokera identyfikatora wystąpienie, które zostały określone w marszrucie.Trasy, które nie mają nazwę usługa dopasować dowolną nazwę usługa.Trasy, które nie posiadają identyfikatora wystąpienie broker odpowiada identyfikatora wystąpienie dowolnego broker.Podczas konwersacji, odpowiada kilka tras SQL Server wybiera trasa, jak opisano w Service Broker routingu.

SQL Server gwarantuje, że raz miejsce docelowe potwierdza pierwszą wiadomość, wszystkich kolejnych wiadomości w tej marszrucie konwersacji do samej bazy danych.Jednak inne konwersacji na tej samej grupa konwersacji nie są gwarantowane do trasa do samej bazy danych.Jeśli aplikacja wymaga, wiadomości w konwersacji powiązanych trasa do samej bazy danych aplikacji musi dostarczyć broker identyfikatora wystąpienie przypadku aplikacja zaczyna konwersacji.

Domyślnie każda baza danych użytkownika zawiera trasa AutoCreatedLocal.Trasa ta odpowiada dowolnej nazwy usługa i brokera wystąpieniei określa, że można dostarczyć wiadomości w obrębie bieżącego wystąpienie.Proste scenariuszach gdzie zarówno inicjatora i miejsce docelowe konwersację istnieje w tej samej SQL Server instancji, nie dodatkowe trasy są niezbędne.Jednak tworzenie trasa dla każdej usługa ułatwia zabezpieczenie przed modyfikacją lub zaniechaniem AutoCreatedLocal trasa.