Nous devons commencer par créer une publication depuis le moteur SQL Server 2005 de production. Chaque base peut avoir différentes publications (par exemple, pour des réplications conditionnées).
Pour cela, il faut lancer le client Microsoft SQL Server management Studio et se connecter sur le serveur SQL 2005. Une fois connecté, on utilise l'explorateur d'objets et ouvre :
Réplication > Publication locales
On clique alors avec le bouton droit de la souris et sélectionne :
Nouvelle publication
Un assistant se lance à ce moment afin d'effectuer la configuration de cette réplication.
On doit spécifier le serveur qui stockera les information lors des synchronisations. Dans notre cas, ce sera le serveur SQL local.
A ce moment, il faut sur le serveur SQL 2005 créer un répertoire partagé qui sera utilisé par les clients lors des synchronisations de données.
Vous devez créer ce répertoire puis le partager et surtout donner les droits de lecture et écriture aux comptes de service qui sont utilisés par les moteurs SQL des clients de la réplication. Vous devez aussi associer ces droits sur le partage.
Attention :
Vous devez prévoir la place disque suffisante pour ce répertoire, car il contient les données correspondant à la base de données (en prenant en compte le filtre éventuel). Ainsi pour une base de plusieurs Go, vous aurez la même taille stockée sur ce partage.
Dans notre exemple, le répertoire concerné sera :
\\SERVEURSQL2005\ReplicationDatas\
On doit maintenant spécifier la base que l'on souhaite publier (dans notre cas, ce sera IISLOG).
A cet instant, nous devons définir le mode de réplication que nous souhaitons mettre en place. Notre exemple sera en "Publication de capture instantanée".
L'assistant nous demande alors les objets qui doivent être répliqués. En effet, dans de nombreux cas, il est inutile de faire une réplication de toutes les bases lorsque seules quelques tables sont utilisées par le client. Dans notre cas, nous sélectionnons tous les objets.
Dans certains cas, vous pouvez avoir une alerte sur les objets dépendant d'un autre. Notre exemple présente une alerte pour une procédure stockée qui requiert une table manquante (dans notre cas, nous ignorons cette alerte).
Cette étape est importante, car nous devons définir le filtre qui va conditionner la réplication des données. Ainsi, nous devons spécifier que nous ne voulons que les données dont le nom du serveur est "ServerTwo".
Pour cela, nous cliquons sur "Add..." et sélectionnons la table "GlobalIISLog" en définissant que la valeur de la colonne "sComputername" doit être égale à "ServerTwo".
Ce qui nous donne alors le filtre :
Enfin nous devons définir la planification de cette capture instantanée. On définit dans un premier temps d'effectuer une capture immédiatement, puis on va planifier une capture tous les jours à 2.00 du matin.
Pour finir, les paramètres de sécurité doivent être spécifiés sur la publication avec les comptes d'accès pour l'agent de capture. Nous utiliserons le compte de service du serveur SQL et le compte sa pour l'accès à la base de données.
On crée alors la réplication.
Et on lui donne un nom.
Pour enfin cliquer sur "Terminer". La création se fait alors.
Pour finalement nous dire que tout a été créé avec succès.
On voit alors apparaître cette nouvelle publication dans l'explorateur d'objet, avec les détails sur celle-ci.
Il ne nous reste plus que de configurer le client SQL Server 2005 Express Edition de cette réplication.