Lektion 3: Abschließen der Zielkonversationsobjekte

Neu: 15. September 2007

In dieser Lektion lernen Sie, die Verbindungsserver und Routen aus der Zielinstanz von Datenbankmodul für die Initiatorinstanz zu erstellen. Führen Sie diese Schritte mit einer Kopie von Management Studio, die auf dem gleichen Computer wie die Zielinstanz ausgeführt wird.

Vorgehensweisen

Erstellen von Verweisen auf Initiatorobjekte

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Ändern Sie die FROM FILE-Klausel so, dass der Ordner referenziert wird, in den Sie in Schritt 4 von Lektion 2 die InstInitiatorCertficate.cer-Datei 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

  1. Kopieren Sie den folgenden Code, und fügen Sie ihn in ein Abfrage-Editorfenster ein. Ändern Sie die Zeichenfolge MyInitiatorComputer auf den Namen des Computers, der die Initiatorinstanz ausführt. Führen Sie dann den Code aus, um Routen zum Zieldienst und Initiatordienst und eine Remotedienstbindung zu erstellen, die den InitiatorUser mit der Route des Initiatordiensts verknüpft.

    Die folgenden CREATE ROUTE-Anweisungen gehen davon aus, dass es in der Zielinstanz keine Dienstnamen doppelt gibt. Wenn mehrere Datenbanken in der Zielinstanz Dienste mit dem gleichen Namen enthalten, geben Sie mithilfe der BROKER_INSTANCE-Klausel die Datenbank an, in der Sie eine Konversation ö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 zur Unterstützung einer Service Broker-Konversation zur Initiatordatenbank erfolgreich abgeschlossen. Danach beginnen Sie in der Initiatordatenbank eine Konversation und senden eine Anforderungsnachricht an den Zieldienst. Siehe Lektion 4: Starten der Konversation.

Siehe auch

Andere Ressourcen

CREATE REMOTE SERVICE BINDING (Transact-SQL)
CREATE ROUTE (Transact-SQL)
CREATE USER (Transact-SQL)
EXECUTE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
Service Broker-Routing und -Netzwerk
Netzwerk- und Remotesicherheit

Hilfe und Informationen

Informationsquellen für SQL Server 2005