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
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
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