Udostępnij za pośrednictwem


Lekcja 1: Utworzenie domiejsce doceloweowej bazy danych

W tej lekcji dowiesz się utworzyć miejsce docelowe bazy danych i wszystkie Service Broker obiektów miejsce docelowe, których nie ma zależności w bazie danych inicjatora. Uruchom te czynności z kopii Management Studio na którym jest uruchomiony na tym samym komputerze co miejsce docelowe Database Engine.

Procedury

Utwórz punkt końcowy usługa Broker

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend.Następnie uruchom go i tworzenia Service Broker punkt końcowy dla tego wystąpienie programu Database Engine. A Service Broker punkt końcowy określa adres sieci, do którego Service Broker wiadomości są wysyłane. Korzysta z tego punktu końcowego Service Broker domyślny TCP port 4022 i które ustanawia zdalnego wystąpienia Database Engine będzie korzystać z uwierzytelnianie systemu Windows połączeń do wysyłania wiadomości.

    Uwierzytelnianie systemu Windows działa, gdy oba komputery znajdują się w tej samej domena lub domen zaufanych.Jeśli komputery nie znajdują się w domenach zaufanych, należy użyć zabezpieczeń certyfikat dla punkty końcowe.Aby uzyskać więcej informacji zobacz Jak Tworzenie certyfikatów dla zabezpieczeniami transportu usługa Broker (języka Transact-SQL).

    USE master;
    GO
    IF EXISTS (SELECT * FROM master.sys.endpoints
               WHERE name = N'InstTargetEndpoint')
         DROP ENDPOINT InstTargetEndpoint;
    GO
    CREATE ENDPOINT InstTargetEndpoint
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 4022 )
    FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS );
    GO
    

Utworzenie miejsce docelowe bazy danych, klucz główny i użytkownika

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend.Zmień hasło na instrukcja CREATE klucz główny.Następnie należy uruchomić kod, który chcesz utworzyć miejsce docelowe bazy danych używane dla tego samouczka.Nowych baz danych mają domyślnie ustawiony na opcję ENABLE_BROKER.Kod tworzy również klucz głównego i użytkownika, który będzie używany do szyfrowanie i połączeń zdalnych.

    USE master;
    GO
    IF EXISTS (SELECT * FROM sys.databases
               WHERE name = N'InstTargetDB')
         DROP DATABASE InstTargetDB;
    GO
    CREATE DATABASE InstTargetDB;
    GO
    USE InstTargetDB;
    GO
    CREATE MASTER KEY
           ENCRYPTION BY PASSWORD = N'<EnterStrongPassword1Here>';
    GO
    CREATE USER TargetUser WITHOUT LOGIN;
    GO
    

Tworzenie certyfikat miejsce docelowe

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend.Zmień nazwę pliku, jest określona w instrukcja kopia zapasowa certyfikat do odwoływania się do folderu, w tym systemie.Następnie należy uruchomić kod, który chcesz utworzyć certyfikat docelowego, który jest używany do szyfrowania wiadomości.Folder, który został określony, powinni mieć uprawnienia, które uniemożliwiają dostęp z konta innego niż konto użytkownika systemu Windows oraz systemu Windows konto wystąpienie Database Engine jest uruchomiony. Lekcja 2, należy ręcznie skopiować InstTargetCertificate.cer plik do folderu, który można uzyskać dostęp z poziomu wystąpienie inicjatora.

    CREATE CERTIFICATE InstTargetCertificate 
         AUTHORIZATION TargetUser
         WITH SUBJECT = 'Target Certificate',
              EXPIRY_DATE = N'12/31/2010';
    
    BACKUP CERTIFICATE InstTargetCertificate
      TO FILE = 
    N'C:\storedcerts\$ampleSSBCerts\InstTargetCertificate.cer';
    GO
    

Utwórz typy wiadomości

  • Skopiuj i wklej następujący kod w oknie Edytor kwerend, uruchom go do tworzenia typów wiadomości w konwersacji.Nazwy typów wiadomości i właściwości określone w tym miejscu muszą być takie same jak te, który zostanie utworzony w InstInitiatorDB następnej lekcji.

    CREATE MESSAGE TYPE [//BothDB/2InstSample/RequestMessage]
           VALIDATION = WELL_FORMED_XML;
    CREATE MESSAGE TYPE [//BothDB/2InstSample/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.Nazwa kontraktu i właściwości, które są określone w tym polu musi być taka sama, jak kontrakt, który zostanie utworzony w InstInitiatorDB następnej lekcji.

    CREATE CONTRACT [//BothDB/2InstSample/SimpleContract]
          ([//BothDB/2InstSample/RequestMessage]
             SENT BY INITIATOR,
           [//BothDB/2InstSample/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.Instrukcja CREATE usługa kojarzy usługa z InstTargetQueue, tak aby wszystkie wiadomości wysyłane do usługa będą odbierane w InstTargetQueue.Usługa CREATE również określa, że tylko konwersacji, które używają //BothDB/ 2InstSample/SimpleContract , który został wcześniej utworzony, może korzystać z usługi jako usługa miejsce docelowe.

    CREATE QUEUE InstTargetQueue;
    
    CREATE SERVICE [//TgtDB/2InstSample/TargetService]
           AUTHORIZATION TargetUser
           ON QUEUE InstTargetQueue
           ([//BothDB/2InstSample/SimpleContract]);
    GO
    

Następne kroki

Bazy danych, które będą używane dla samouczek został pomyślnie utworzony.Następnie utworzysz InstInitiatorDB i skonfigurować go wraz z obiektami, wymagane do obsługi inicjującego wylotu Service Broker Konwersacji. Zobacz Lekcja 2: Tworzenie bazy danych inicjatora.