Implementation d'une réplication

WOLO Laurent

A la fin de cette leçon, vous serez en mesure de:

- décrire la création d'une publication;

- décrire la création d'un abonnement;

- décrire les outils disponibles pour surveiller des publications et des abonnements;

- Titre : Implementation d'une réplication

- Auteur : WOLO Laurent

- Parution : 14 juin 2010

- Licence : Copyright ® 2010 WOLO Laurent. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Comment créer une publication

- II-A. A L'aide de l'assistant

- II-A-1. Le serveur de distribution

- II-A-2. Le dossier de captures instantanées

- II-A-3. La base de données de publication

- II-A-4. Le type de publication

- II-A-5. La définition du types d'abonnés

- II-A-6. La définition des articles

- II-A-7. les filtres horizontales et verticales

- II-A-8. les agents de capture instantanée

- II-A-9. les paramètres de sécurité

- II-A-10. Enfin le nom de la publication

- II-B. A l'aide des procédures stockées

- III. Comment s'abonner à une publication

- III-A. La publication

- III-B. L'emplacement de l'agent

- III-C. La base de données de l'abonné

- III-D. Les paramètres de sécurité

- III-E. La synchronisation

- III-F. Réplication des modifications

- III-G. L'initialisation

- III-H. Enfin le type d'abonnement

- IV. Comment maintenir des publications et des abonnements

- IV-A. surveillance à l'aide du moniteur de réplication

- IV-B. Validation et réinitialisation des abonnements

- IV-C. Gestion des agents de réplication

- IV-D. Résolution des conflits de réplication

I - Introduction

Lors de l'implémentation d'une réplication, il y'a trois étapes fondamentales :

- La publication des données ;

- L'abonnement à cette publication ;

- Et la maintenance de la publication et de l'abonnement;

Microsoft met à notre disposition des assistants qui peuvent nous guider et simplifier considérablement cette opération. Nous avons aussi la possibilité d'utiliser des procédures stockées pour la publication des données, l'abonnement à une publication et pour la maintenance de la réplication. Nous allons voir ensemble, comment implémenter la réplication dans la suite de ce cours.

II - Comment créer une publication

Avant de se lancer dans la création d'une publication, vous devez résumer sur un bout de papier les informations ci-dessous, qui vous seront demandées par l'assistant :

- Le serveur de distribution;

- Le dossier de captures instantanées;

- La base de données de publication;

- Le type de publication;

- La définition du types d'abonnés;

- La définition des articles;

- Les filtres;

- Les agents de capture instantanée;

- Les parametres de sécurités des agents;

- Le nom de la publication;

II-A - A L'aide de l'assistant

Pour démarrer l'assistant Nouvelle publication, Lancer l'Explorateur d'objets, Développez le dossier Réplication, faites un clic-droit sur Publications locales puis cliquez sur Nouvelle publication. Vous n'avez plus qu'à vous laisser guider par l'assistant Nouvelle publication

II-A-1 - Le serveur de distribution

Si c'est la première publication que vous créez sur votre instance de SQL Serveur, une page s'affichera. Vous avez le choix entre spécifier une nouvelle instance déjà configurée comme distributeur ou spécifier votre instance comme son propre distributeur.

II-A-2 - Le dossier de captures instantanées

Ce dossier contiendra, comme son nom l'indique, les fichiers de capture instantanés utilisés pour initialiser un abonnement.Si vous souhaiter activer des abonnements par extractions des données, ce dossier doit être un partage réseau et donc penser à donner les autorisations nécessaires en lecture et écriture sur le partage. Cette page ne s'affiche que lors que la première fois que vous activez une instance comme son propre distributeur.

II-A-3 - La base de données de publication

C'est la source des données à publier. Si vous souhaitez publier des données se trouvant dans plusieurs bases de données, penser tout de suite à la création de plusieurs publications. En résumé, il faut créer une publication par base de données à publier.

II-A-4 - Le type de publication

Vous avez le choix entre :

- Une publication de capture instantanée

- Une publication transactionnelle

- Une publication transactionnelle avec abonnement pouvant être mis à jour

- Une publication de fusion

II-A-5 - La définition du types d'abonnés

Cette information n'est nécessaire que dans le cas d'une publication de fusion. Il s'agit de spécifier les versions SQL Serveur des abonnées (SQL Serveur 2000, SQL Serveur 2005, SQL Serveur 2005 Mobile Edition et SQL Serveur pour Windows CE).

II-A-6 - La définition des articles

Listes des tables, des vues, des vues indexées, des procédures stockées et fonctions définies par les utilisateurs. En outre il y'a des exigences à respecter :

1. Tous les objets référencés par les articles doivent exister dans la base de données s'abonnement

2. Les réplications transactionnelles avec mise à jour de l'abonné et les réplications de fusion exige une colonne de type uniqueidentifier que l'assistant ajoute automatiquement

3. Vous ne pouvez pas créer une publication de fusion pour une table qui fait déjà partie d'une publication transactionnelle avec mise à jour de l'abonné.

II-A-7 - les filtres horizontales et verticales

Rappelons qu'un article peut être filtré verticalement (restriction sur les colonnes, décoché la colonne) et/ou verticalement (restriction des lignes, filtre where). Sachez que pour filtrer horizontalement, il faut revenir à la page Article.

II-A-8 - les agents de capture instantanée

Vous avez le choix entre créer immédiatement une capture instantanée et planifier la génération des captures instantanées

II-A-9 - les paramètres de sécurité

Spécifiez le compte de sécurité de chaque agent tout en s'assurant que le compte dispose des droits d'écriture et de lecture sur les partages réseaux.

Il n'est pas conseiller d'utiliser le même compte de sécurité que celui qui exécute SQL Serveur Agent pour des raisons de sécurité !

II-A-10 - Enfin le nom de la publication

C'est le nom qui identifie la publication. Nous rappelons la règle d'usage qu'il faut donner un nom parlant donc déterminant pour l'objectif de la publication.

Vous avez toujours la possibilité de modifier les propriétés de la publication en faisant un clique-droit sur le nom de la publication puis sur propriétés

II-B - A l'aide des procédures stockées

SQL Serveur 2005 a été livré avec plusieurs procédures stockées qui permettent de configurer la publication de manière automatique. Ceci est très utile lors qu'il s'agit de créer des fichiers de commandes de scripts pour

Lorsque vous voulez ajouter le contrôle par programme de la réplication à une application ou accomplir des tâches de réplication répétées, telles que la synchronisation des abonnements, il est préférable d'utiliser l'interface de programmation fournie par Replication Management Objects (RMO).

Il n'est plus important de rappeler les avantages qu'apportent la création des scriptes de réplication :

1. Concerver une copie permanante des étapes de la configuration de votre topologie de réplication;

2. Utiliser un seul script pour configurer plusieurs abonnés;

3. La formation rapides des nouveaux administrateurs de bases de données qui peuvent apprendre en évaluant, comprenant et modifiant le code source ;

Voici la liste des procédures stockées utilies à la mise en place d'une publication :

Procédure stockée

Description

sp_replicationdboption

Ajoute et supprime la base de données système de la publication. Elle permet de configurer les options de sécurité. Bref elle active/désactive un serveur comme Editeur.

sp_addlogreader_agent

Configure un agent de lecture de journal avec ces options de sécurité

sp_addqreader_agent

Configure un agent de lecture de la file d'attente

sp_addpublication

Configure la publication

sp_addpublication_snapshot

Configure l'agent de capture instantanée

sp_addpublication_access

Configure les comptes qui ont accès à la publication

sp_addarticle

Crée un article et l'ajoute à la publication

sp_addarticlefilter

Ajoute un filtre à un article

sp_articleview

Crée une vue qui définit l'article publiée lorsqu'une table est filtrée.

III - Comment s'abonner à une publication

III-A - La publication

Elle désigne le serveur de publication ainsi que la publication à la quelle l'on s'abonne.

III-B - L'emplacement de l'agent

Vous avez le choix entre un abonnement par extraction(pull) ou par envoi(push). Ce choix est déterminant quant à l'utilisation des ressources sur les serveurs qui jouent l'un des trois rôles (abonné, distributeur et l'éditeur) Si l'éditeur est un serveur de production, je vous conseillerais de pencher sur un abonnement par extraction de données.

III-C - La base de données de l'abonné

C'est la base de données qui sera mise à jour par cette abonnement. Vous pouvez restaurer une sauvegarde récente de cette base sur l'instance abonnée.

III-D - Les paramètres de sécurité

Vous fixez les comptes d'utilisateurs sous les quels vont s'exécuter les agents de réplications suivant le type de réplication choisi.

III-E - La synchronisation

Ici l'on planifie les fréquences d'application des mise à jour des données au niveau de l'abonnée.

III-F - Réplication des modifications

III-G - L'initialisation

Il s'agit ici de l'application d'application de la capture instantanée initiale. On peut choisir de le faire immédiatement,à la demande ou à une heure planifiée.

III-H - Enfin le type d'abonnement

IV - Comment maintenir des publications et des abonnements

IV-A - surveillance à l'aide du moniteur de réplication

IV-B - Validation et réinitialisation des abonnements

IV-C - Gestion des agents de réplication

IV-D - Résolution des conflits de réplication