Opis sortowanie i usługa Broker
usługa Broker jest przeznaczona do powiadomić usługa i aplikacje w przypadkach, w przypadku sortowanie różnych konfiguracji mogą komunikować się łatwo i wydajnie.Baza danych, która obsługuje usługa, która wysyła wiadomość nie może korzystać takie same Sortowanie jako bazy danych, usługa, która odbiera wiadomość.W związku z tym usługa Broker wykorzystuje spójne sortowanie nazwy, niezależnie od sortowanie bazy danych obsługującego usługa.Aby usunąć informacje sortowanie z procesu komunikacji, usługa Broker wykorzystuje porównania bajt po bajcie dopasowania nazw usług, kontrakt nazwy, a typ komunikatu nazwy.Dopasowując nazwy jako sekwencje bajtów usługa Broker upraszcza usług do wymiany wiadomości poprawnie bez dodatkowe obciążenie związane z wymianę informacji sortowanie.
Dopasuj bajt po bajcie jest porównanie binarne, które nie bierze pod uwagę bieżący sortowanie.Z tego powodu wiele usług brokera go znaleźć wygodne postępować zgodnie z zaleceniami w Nadawanie nazw usługa Broker obiektów. Aplikacja, która wynika z poniższymi wskazówkami i traktuje wszystkie nazwy jako wielkość liter powinny działać poprawnie, niezależnie od różnic podczas sortowanie obsługującego usługa miejsce docelowe bazy danych a bazą danych obsługującego usługa inicjujący.
Uwagi dotyczące sortowanie kolejki
Kolejki za pomocą sortowanie spójne niezależnie od domyślnym sortowaniem z SQL Server domyślnym sortowaniem bazy danych, obsługującym kolejkę lub wystąpienie. Jeśli kolejka to miejsce docelowe instrukcja SELECT zawierającej instrukcja łączyć z inną tabelą w bazie danych, takich jak używane do zarządzania stanem, tabela może być wymagane do jawnego określania sortowanie dla porównania.
Na przykład aplikacja, która używa komunikatu zatrzymania może być konieczne w celu zachowania niektóre wiadomości w konwersacji przed zastosowaniem kończy się do konwersacji.Poniżej Transact-SQL Przykładowy kod zapisuje wszystkie komunikaty, dla danej konwersacji, a typ komunikatu nazwa w tabela AuditedMessageTypes.
IF @messageTypeName =
'https://schemas.microsoft.com/SQL/ServiceBroker/EndDialog'
BEGIN
INSERT INTO dbo.AuditRecord
SELECT q.message_type_name, q.message_body
FROM dbo.ApplicationQueue AS q
JOIN dbo.AuditedMessageTypes AS am ON
am.message_type_name = q.message_type_name
COLLATE Latin1_General_BIN
AND
q.conversation_handle = @conversationHandle
END CONVERSATION @conversationHandle
END
Instrukcja SELECT jawnie określa porównanie binarne o identycznych nazwach typ komunikatu.Ponieważ kolejka nie używa domyślnie sortowanie bazy danych, klauzula COLLATE jest wymagany do porównania am.message_type_name = q.message_type_name Aby zakończyć się pomyślnie. Instrukcja określa binarne sortowanie Latin1_General_BIN, aby dopasować zachowanie wewnętrznego porównania używający odpowiadają nazwom usługa usługa Broker.
Uwagi dotyczące sortowanie aplikacji
usługa Broker przesyła treści wiadomości w postaci danych binarnych, a nie powoduje modyfikacji zawartości wiadomości.Jeśli aplikacje wymieniać dane, które są zależne od sortowanie, aplikacje muszą obsługiwać różnice sortowanie.Aplikacje, które zazwyczaj wymiany tekstu umożliwia zminimalizować problemy sortowanie typy standardu Unicode.