Udostępnij za pośrednictwem


Lekcja 1: Tworzenie docelowej bazy danych

W tej lekcji użytkownik zapozna utworzyć miejsce docelowe bazy danych i wszystkie Service Broker obiektów miejsce docelowe nie mają zależności inicjatora bazy danych.Uruchom następujące kroki z kopii Management Studio na tym samym komputerze z systemem miejsce docelowe wystąpienia Aparat baz danych.

Procedury

Utwórz punkt końcowy Service Broker

  • Skopiuj i wklej następujący kod w oknie Edytora kwerend.Następnie uruchom go do tworzenia Service Broker końcowego dla tego wystąpienie Aparat baz danych.A Service Broker endpoint ustanawia adres sieci, do której Service Broker wiadomości są wysyłane.Używa tego punktu końcowego Service Broker 4022, port domyślny TCP i ustali, że zdalnego wystąpienia Aparat baz danych będzie używać połączeń uwierzytelniania systemu Windows do wysyłania wiadomości.

    Uwierzytelnianie systemu Windows działa, gdy oba komputery są w tej samej domena lub domen zaufanych.Jeśli komputery nie znajdują się w domenach zaufanych, należy użyć zabezpieczeń certyfikat dla końcowych.Aby uzyskać więcej informacji, zobacz Jak Tworzenie certyfikatów dla zabezpieczeń transportu Service Broker (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
    

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

  • Skopiuj i wklej następujący kod w oknie Edytora kwerend.Zmień hasło instrukcja tworzenia klucza głównego.Następnie należy uruchomić kod w celu utworzenia miejsce docelowe bazy danych używany dla tego samouczka.Domyślnie nowe bazy danych mają opcję ENABLE_BROKER zestaw do na.Kod tworzy również klucz głównego i użytkownika, który będzie używany do obsługi połączeń zdalnych i szyfrowanie.

    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 Edytora kwerend.Zmień nazwę pliku, określona w instrukcja kopii zapasowej certyfikatu do folderu w systemie.Następnie należy uruchomić kod w celu utworzenia miejsce docelowe certyfikat używany do szyfrowania wiadomości.Określony folder powinien mieć uprawnienia, które zapobiegają dostępowi z konta innego niż konto systemu Windows i Windows konto wystąpienie Aparat baz danych jest uruchomiony.Lekcja 2, należy ręcznie skopiować InstTargetCertificate.cer plik do folderu, który jest możliwy z 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 Edytora kwerend, uruchom go, aby utworzyć typy wiadomości w konwersacji.typ komunikatu Nazwy i właściwości określone w tym miejscu muszą być identyczne do tych, które zostaną utworzone w InstInitiatorDB w 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 Edytora kwerend.Następnie uruchom go do utworzenia kontrakt dla konwersacji.Nazwa kontrakt i właściwości, które są określone w tym miejscu muszą być identyczne z kontrakt, który zostanie utworzony w InstInitiatorDB w 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 Edytora kwerend.Następnie uruchom go do utworzenia kolejki, usługa, która jest używana dla miejsce docelowe.Instrukcja tworzenia usługa kojarzy usługa z InstTargetQueue, tak aby wszystkie wiadomości wysłane do usługa zostaną odebrane w InstTargetQueue.Tworzenie usługa również określa, że tylko konwersacje, które używają //BothDB/ 2instsample/simplecontract utworzony wcześniej usługa można używać 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

Pomyślnie utworzono bazy danych, które będą używane do samouczka.Następnie utworzy InstInitiatorDB i jego obiekty wymagane do obsługi inicjującego końca Service Broker konwersacji.See Lekcja 2: Tworzenie bazy danych inicjatora.