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.