Partager via


Leçon 3 : Création des objets de conversation côté cible

Nouveau : 15 septembre 2007

Dans cette leçon, vous allez apprendre à créer le serveur lié et les itinéraires entre l'instance cible du Moteur de base de données et l'instance initiatrice. Réalisez ces procédures à partir d'une copie de Management Studio qui s'exécute sur le même ordinateur que l'instance cible.

Procédures

Créer des références aux objets côté initiateur

  1. Copiez et collez le code suivant dans une fenêtre d'éditeur de requête. Modifiez la clause FILE FROM de manière à référencer le dossier dans lequel vous avez copié le fichier InstInitiatorCertficate.cer de l'étape 4 de la Leçon 2. Exécutez ensuite le code de manière à créer un utilisateur initiateur et à extraire le certificat initiateur.

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

Créer les itinéraires

  1. Copiez et collez le code suivant dans une fenêtre d'éditeur de requête. Remplacez la chaîne MyInitiatorComputer par le nom de l'ordinateur qui exécute votre instance initiatrice. Exécutez ensuite le code de manière à créer des itinéraires vers le service cible et le service initiateur, de même qu'une liaisons de service distant qui associe InitiatorUser à l'itinéraire du service initiateur.

    Dans les instructions CREATE ROUTE suivantes, il est supposé que l'instance cible ne contient aucun nom de service dupliqué. Si plusieurs bases de données sur l'instance cible contiennent des services portant le même nom, utilisez la clause BROKER_INSTANCE pour spécifier la base de données sur laquelle vous souhaitez ouvrir une conversation.

    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
    

Étapes suivantes

Vous avez terminé de configurer la base de données cible de manière à ce qu'elle prenne en charge une conversation Service Broker avec la base de données initiatrice. Vous allez ensuite démarrer une conversation dans la base de données initiatrice et envoyer un message de demande au service cible. Consultez Leçon 4 : Démarrage de la conversation.

Voir aussi

Autres ressources

CREATE REMOTE SERVICE BINDING (Transact-SQL)
CREATE ROUTE (Transact-SQL)
CREATE USER (Transact-SQL)
EXECUTE (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
Réseau et routage Service Broker
Réseau et sécurité distante

Aide et Informations

Assistance sur SQL Server 2005