Lekcja 1: Tworzenie obiektów podstawowych konwersacji
W tej lekcji użytkownik zapozna Tworzenie wszystkich obiektów, które włączyć tę bazę danych do obsługi konwersacji w bazie danych.
Procedury
Włącz Service Broker i przełączyć się do bazy danych AdventureWorks2008R2
Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go w celu zapewnienia, że Service Broker jest włączone w AdventureWorks2008R2 bazy danych i kontekst przełącznik do bazy danych.
USE master; GO ALTER DATABASE AdventureWorks2008R2 SET ENABLE_BROKER; GO USE AdventureWorks2008R2; GO
Utwórz typy wiadomości
Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go do tworzenia typów wiadomości w konwersacji.Ponieważ Service Broker obiekty często są wywoływane przez wiele wystąpień Aparat baz danych, większość Service Broker obiekty są nazwy w formacie identyfikatora URI.Pomoc, upewnij się, że są one unikatowe na wielu komputerach.Oba typy wiadomości określić, że Service Broker będą tylko sprawdzanie poprawności, że wiadomości są poprawnie sformułowane dokumentów XML i że nie będzie poprawności XML przeciwko określonego schematu.
CREATE MESSAGE TYPE [//AWDB/InternalAct/RequestMessage] VALIDATION = WELL_FORMED_XML; CREATE MESSAGE TYPE [//AWDB/InternalAct/ReplyMessage] VALIDATION = WELL_FORMED_XML; GO
Tworzenie kontrakt
Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go do utworzenia kontrakt dla konwersacji.kontrakt określa, że konwersacji, które go używają musi wysyłać wiadomości z //AWDB/InternalAct/RequestMessage typu z inicjatora docelowego i wiadomości, //AWDB/InternalAct/ReplyMessage typu miejsce docelowe inicjatora.
CREATE CONTRACT [//AWDB/InternalAct/SampleContract] ([//AWDB/InternalAct/RequestMessage] SENT BY INITIATOR, [//AWDB/InternalAct/ReplyMessage] SENT BY TARGET ); GO
Tworzenie kolejka docelowa i usługa
Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go do utworzenia kolejki, usługa, która jest używana dla miejsce docelowe.Ponieważ kolejek pochodzą z tej samej bazy danych w sposób podobny do tabel i widoków, takich jak nazwy tabela lub widoku są formatowane nazwy kolejek.Instrukcja tworzenia usługa kojarzy usługa z TargetQueueIntAct.Dlatego wszystkie wiadomości, które są wysyłane do usługa zostaną odebrane w TargetQueueIntAct.Tworzenie usługa również określa, że tylko konwersacje, które używają //AWDB/InternalAct/SampleContract utworzony wcześniej usługa można używać jako usługa miejsce docelowe.
CREATE QUEUE TargetQueueIntAct; CREATE SERVICE [//AWDB/InternalAct/TargetService] ON QUEUE TargetQueueIntAct ([//AWDB/InternalAct/SampleContract]); GO
Tworzenie kolejki inicjatora iusługa
Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go do utworzenia kolejki, usługa, która jest używana dla inicjatora.Ponieważ nazwa kontrakt nie jest określona, żadnych innych usług można użyć tej usługa jako usługa miejsce docelowe.
CREATE QUEUE InitiatorQueueIntAct; CREATE SERVICE [//AWDB/InternalAct/InitiatorService] ON QUEUE InitiatorQueueIntAct; GO
Następne kroki
Pomyślnie skonfigurowano AdventureWorks2008R2 do obsługi konwersację między //AWDB/InternalAct/InitiatorService i //AWDB/InternalAct/TargetService.Następnie będzie utworzyć procedura składowana do obsługi wewnętrznych aktywacja na kolejka docelowa.See Lekcja 2: Tworzenie procedury wewnętrzne aktywacji.