Lektion 3: Abschließen der Zielkonversationsobjekte

In dieser Lektion erfahren Sie, wie Sie den Verbindungsserver und Routen von der Zielinstanz von Database Engine (Datenbankmodul) auf der Initiatorinstanz erstellen. Führen Sie diese Schritte von einer Kopie von Management Studio aus, die auf demselben Computer ausgeführt wird wie die Zielinstanz.

Verfahrensweisen

Erstellen von Verweisen auf Initiatorobjekte

  • Kopieren Sie den folgenden Code, und fügen Sie ihn in einem Abfrage-Editorfenster ein. Ändern Sie die FROM FILE-Klausel so, dass sie auf den Ordner verweist, in den Sie die InstInitiatorCertficate.cer-Datei aus Schritt 4 in Lektion 2 kopiert haben. Führen Sie dann den Code aus, um einen Initiatorbenutzer zu erstellen und das Initiatorzertifikat aufzurufen.

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

Erstellen von Routen

  • Kopieren Sie den folgenden Code, und fügen Sie ihn in einem Abfrage-Editorfenster ein. Ändern Sie die Zeichenfolge MyInitiatorComputer in den Namen des Computers, der die Initiatorinstanz ausführt. Führen Sie anschließend den Code aus, um Routen zum Zieldienst und Initiatordienst sowie eine Remotedienstbindung zu erstellen, die den InitiatorUser mit der Initiatordienstroute verknüpft.

    Die folgenden CREATE ROUTE-Anweisungen gehen davon aus, dass in der Zielinstanz keine doppelten Dienstnamen vorliegen. Wenn mehrere Datenbanken in der Zielinstanz Dienste mit demselben Namen enthalten, geben Sie mit der BROKER_INSTANCE-Klausel die Datenbank an, in der Sie eine Konversation eröffnen möchten.

    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
    

Nächste Schritte

Sie haben die Konfiguration der Zieldatenbank erfolgreich abgeschlossen, um eine Service Broker-Konversation zur Initiatordatenbank zu unterstützen. Anschließend starten Sie eine Konversation in der Initiatordatenbank und senden eine Anforderungsnachricht an den Zieldienst. Siehe Lektion 4: Starten der Konversation.