> Tech > Service Broker entre 2 bases distinctes

Service Broker entre 2 bases distinctes

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Cette fois-ci la mise en place est un peu plus complexe. En effet, Service Broker doit être capable d'accéder au service distant avec un certain contexte de sécurité. Pour cela, il lui est nécessaire de se connecter au serveur. Il n'est pas possible ni même envisageable de coder en "dur"

Service Broker entre 2 bases distinctes

le mot de passe à utiliser pour se connecter au serveur.

C’est pourquoi la connexion utilisée par service Broker sera basée sur un certificat. Il est également nécessaire de définir une route au niveau Service Broker afin que le service initiateur soit capable de localiser le service route. Ces routes sont tout à fait comparables aux routes qui peuvent être mises en place au niveau du réseau.

La mise en place de ce dialogue entre 2 bases distinctes de la même instance SQL Server est illustrée tout au long des étapes suivantes Pour mettre en place le dialogue Service Broker entre 2 bases, il est nécessaire de respecter les étapes suivantes :

Créer les objets spécifiques à Service Broker : type de messages, contrat, file d’attente, service
create database bd1;
create database bd2;
go
use bd1;
— Définir les types de messages
CREATE MESSAGE TYPE MResultat VALIDATION=WELL_FORMED_XML;
— Définir le contrat
CREATE CONTRACT ContratExemple ( MResultat SENT BY INITIATOR);
— Définir la file d’attente
CREATE QUEUE file1 WITH STATUS=ON;
— Définir le service
CREATE SERVICE service1 ON QUEUE file1([ContratExemple]);
go
use bd2;
— Définir les types de messages
CREATE MESSAGE TYPE MResultat VALIDATION=WELL_FORMED_XML;
— Définir le contrat
CREATE CONTRACT ContratExemple ( MResultat SENT BY INITIATOR);
— Définir la file d’attente
CREATE QUEUE file2 WITH STATUS=ON;
— Définir le service
CREATE SERVICE service2 ON QUEUE file2([ContratExemple]);

Définir les routes pour que chaque service puisse localiser le service distant
Rechercher les identifiants service broker

use master;
go
select name,service_broker_guid from sys.databases where name in (‘bd1′,’bd2’);

Mettre en place les routes

use bd2;
CREATE ROUTE routeVersService1
WITH SERVICE_NAME=’service1′,
BROKER_INSTANCE=’EEC08800-72B7-4543-B451-9253EF17EADB’,
ADDRESS=’LOCAL’;
use bd1;
CREATE ROUTE routeVersService2
WITH SERVICE_NAME=’service2′,
BROKER_INSTANCE=’1122146E-EEE1-4E60-9011-D2355EC5C1B4′,
ADDRESS=’LOCAL’;

Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010