Lekcja 1: Tworzenie podstawowego obiekty konwersacji
W tej lekcji dowiesz się tworzenie wszystkich obiektów, które umożliwiają bazy danych do obsługi komunikacji w bazie danych.
Procedury
Włącz usługa Broker i Przełącz się do bazy danych AdventureWorks
Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom go, aby upewnić się, że Service Broker włączono opcję AdventureWorks Baza danych i przełączania kontekstu w bazie danych.
USE master; GO ALTER DATABASE AdventureWorks SET ENABLE_BROKER; GO USE AdventureWorks; GO
Utwórz typy wiadomości
Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom go do tworzenia typów wiadomości w konwersacji.Ponieważ Service Broker obiekty są często odwołuje się do całej wiele wystąpień Database Engine, większość Service Broker obiekty są nazwy w formacie identyfikatora URI. To pomóc w zapewnieniu, że są one unikatowe na wielu komputerach.Oba typy wiadomości, określanie Service Broker tylko poprawności, wiadomości są poprawnie sformułowany dokument XML i że nie będzie poprawności XML według 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 Edytor kwerend.Następnie uruchom go do utworzenia kontrakt do konwersacji.Kontrakt Określa, że konwersacji, które go używają musi wysyła wiadomości, //AWDB/InternalAct/RequestMessage typu z inicjatora docelowego, a wiadomości //AWDB/InternalAct/ReplyMessage typ z 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 Edytor kwerend.Następnie uruchom go do utworzenia kolejki, usługa, która jest używana dla miejsce docelowe.Ponieważ kolejek są wywoływane z tej samej bazy danych w sposób podobny do tabel i widoków, takich jak nazwy tabela lub widoku są formatowane nazw kolejek.Instrukcja CREATE usługa kojarzy usługa z TargetQueueIntAct.Dlatego wszystkie wiadomości, które są wysyłane do usługa będą odbierane w TargetQueueIntAct.Usługa CREATE również określa, że tylko konwersacji, które używają //AWDB/InternalAct/SampleContract utworzony wcześniej może korzystać z usługi jako usługa miejsce docelowe.
CREATE QUEUE TargetQueueIntAct; CREATE SERVICE [//AWDB/InternalAct/TargetService] ON QUEUE TargetQueueIntAct ([//AWDB/InternalAct/SampleContract]); GO
Tworzenie kolejki inicjatora i usługa
Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom go do utworzenia kolejki, usługa, która jest używana dla inicjatora.Ponieważ nazwa kontrakt nie zostanie określona, nie inne usługi można jako usługa miejsce docelowe za pomocą tej usługi.
CREATE QUEUE InitiatorQueueIntAct; CREATE SERVICE [//AWDB/InternalAct/InitiatorService] ON QUEUE InitiatorQueueIntAct; GO
Następne kroki
Została pomyślnie skonfigurowana AdventureWorks do obsługi komunikacji między //AWDB/InternalAct/InitiatorService and the //AWDB/InternalAct/TargetService.Następnie utworzysz procedura przechowywana do obsługi wewnętrznych aktywacja w kolejce miejsce docelowe.Zobacz Lekcja 2: Tworzenie procedury aktywacja wewnętrzny.