Udostępnij za pośrednictwem


Lekcja 3: Korzystanie z obiektów docelowych konwersacji

W tej lekcji użytkownik zapozna utworzyć serwer połączony i trasy z miejsce docelowe Aparat baz danych na wystąpienie inicjatora.Uruchom następujące kroki z kopii Management Studio na tym samym komputerze z systemem miejsce docelowe wystąpienie.

Procedury

Tworzenie odwołania do obiektów inicjatora

  • Skopiuj i wklej następujący kod w oknie Edytora kwerend.Zmienianie klauzula z pliku, aby odwołać folder, do którego skopiowano InstInitiatorCertficate.cer pliku z kroku 4, lekcji 2.Następnie należy uruchomić kod w celu utworzenia użytkownika inicjatora i ściągać w certyfikacie inicjatora.

    USE InstTargetDB
    GO
    CREATE USER InitiatorUser WITHOUT LOGIN;
    
    CREATE CERTIFICATE InstInitiatorCertificate
       AUTHORIZATION InitiatorUser
       FROM FILE = 
    N'C:\storedcerts\$ampleSSBCerts\InstInitiatorCertificate.cer';
    GO
    

Utworzyć trasy

  • Skopiuj i wklej następujący kod w oknie Edytora kwerend.Zmień ciąg MyInitiatorComputer do nazwy komputera, na którym jest uruchomione wystąpienie inicjatora.Następnie należy uruchomić kod w celu utworzenia trasy do miejsce docelowe usługi i Usługa inicjatora i powiązanie usługi zdalnej który kojarzy InitiatorUser trasa inicjatora usługi.

    Następujących instrukcji CREATE ROUTE założono, że nie istnieją żadne nazwy usługa zduplikowane w miejsce docelowe instancji.Jeśli wiele baz danych na miejsce docelowe wystąpienie zawierają usług, które mają taką samą nazwę, należy użyć klauzula BROKER_INSTANCE, aby określić bazę danych, na którym chcesz otworzyć konwersacji.

    DECLARE @Cmd NVARCHAR(4000);
    
    SET @Cmd = N'USE InstTargetDB;
    CREATE ROUTE InstInitiatorRoute
    WITH SERVICE_NAME =
           N''//InstDB/2InstSample/InitiatorService'',
         ADDRESS = N''TCP://MyInitiatorComputer:4022'';';
    
    EXEC (@Cmd);
    
    SET @Cmd = N'USE msdb
    CREATE ROUTE InstTargetRoute
    WITH SERVICE_NAME =
            N''//TgtDB/2InstSample/TargetService'',
         ADDRESS = N''LOCAL''';
    
    EXEC (@Cmd);
    GO
    GRANT SEND
          ON SERVICE::[//TgtDB/2InstSample/TargetService]
          TO InitiatorUser;
    GO
    CREATE REMOTE SERVICE BINDING InitiatorBinding
          TO SERVICE N'//InstDB/2InstSample/InitiatorService'
          WITH USER = InitiatorUser;
    GO
    

Następne kroki

Pomyślnie zakończono konfigurowanie miejsce docelowe bazy danych do obsługi Service Broker konwersacji inicjatora bazy danych.Następnie będzie rozpocząć konwersację w bazie danych inicjatora i wysłać komunikat żądania do usługa miejsce docelowe.See Lekcja 4: Począwszy od konwersacji.