SQL Server 2016 : La réplication

Créer un abonnement d'instantanés

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Créez votre premier abonnement pour récupérer régulièrement les modifications de la base éditeur. Ainsi, aidez-vous de la réplication d'instantanés.
07:09

Transcription

Continuons sur notre lancée. Nous venons de voir, dans notre répertoire, ici, qu’il n’y avait rien du tout. Aucun snapshot n’a été créé. Est-ce que nous devons nous en inquiéter ? Alors, jetons un œil dans l’historique de nos snapshots et regardons ce qui s’est passé sur l’étape numéro deux, qui est le déclenchement de l’agent de snapshot. On nous dit : « l’agent de réplication a démarré », c’est très bien. Ensuite, on nous dit, agent d’instantané et 0%. « Aucun instantané n’a été généré, car aucun abonnement ne nécessitait d’initialisation. » Ah bah oui, c’est logique, je n’ai pas d’abonné, ça ne sert à rien de s’énerver à créer des snapshots pour rien. Pas bête, donc on va créer un abonné. On va rester simple, je vais créer un abonné sur la même machine. Ce qui est tout à fait possible. Il me suffit de créer une nouvelle base de données et de dire qu'on va répliquer un snapshot de ma base de données de publication. « PachaDataFormation » vers cette nouvelle base de données. On fait ça. Je vais regarder dans les abonnements locaux, il n'y en n'a pas, je crée un nouvel abonnement. J'ai un assistant comme d'habitude, c'est très gentil, on me dit quelle est la base de données et les publications que je veux choisir. Eh bien, je n'en n'ai qu'une, « Pachadataformation » et ma publication s'appelle « Clients ». Est-ce que je vais utiliser un système en « push » ou en « pull »? « Exécuter tous les agents sur le serveur de distribution », vous vous souvenez, c'est comme il est indiqué ici un mode « push ». « Exécuter chaque agent sur son abonné », c'est un mode « pull ». Donc ici, ça ne change rien, puisque je suis sur la même machine, mais je vais quand même garder la mode « push ». Je vais choisir mon abonné et une base de donnée d’abonnement et je vais choisir « Nouvelle base de données ». Je vais l'appeler « PachaAbonne01 », je risque d'en faire encore deux ou trois. Il serait bien que je gère un peu mieux la taille de ma base de données originelle, mais ce n’est pas le sujet du cours, donc je laisse tomber, ce qui va créer ma base ici comme vous le voyez et puis c'est tout. Maintenant, je vais encore gérer la sécurité des agents. L'agent de distribution doit se connecter au serveur de distribution et se connecter à l'abonné. Bon, tout ceci sur la même machine pour l'instant, d'accord mais c'est pour mon exemple. Donc, il faut que j'indique, en termes de sécurité comment la connexion va se faire au serveur de distribution, comment elle va se faire vers l'abonné. Et j'ai les mêmes options qu'avant, vous vous souvenez! Donc, on en est à la même situation. Ici j'indique le compte qui va exécuter l'agent lui-même, cet exécutable et puis ici j'indique comment je me connecte au serveur de distribution, compte de processus ou connexion SQL serveur, ici comment je me connecte à l'abonné. Même chose, compte de processus, donc ça veut dire qu'il doit y avoir des permissions comme login windows dans « SQL » ou bien en utilisant une connexion SQL server. Je vais utiliser au plus simple les options qui ne me demandent pas d'assurer une sécurité maximale, voilà qui est fait. Je vais déterminer la planification de l'agent de distribution, c'est-à-dire je vais générer ici un snapshot toutes les heures et ce que l'agent de distribution va en permanence, vérifier qu'il existe un snapshot. Je pourrais, au lieu de l'exécuter en continu, définir une planification, lui dire : « oh bah tu t'exécutes toutes les heures finalement ». Il pourrait y avoir deux heures de décalage ou alors je pourrais lui dire : « tu t'exécutes toutes les dix minutes. » Si je m'exécute en continu, il va réagir dès qu'il va voir un snapshot déposé. Et puis je pourrais l'exécuter à la demande. Et je vais l'exécuter à la demande seulement si je ne suis pas connecté en permanence et que, eh bien je me reconnecte manuellement et que je veux récupérer le dernier snapshot. Je vais faire une exécution en continu, ce sera plus pratique et puis je vais indiquer ici, que je vais lancer l'initialisation. Ce qui va déclencher la génération d'un snapshot pour être intégré dans mon abonné. Je crée les abonnements, je pourrais générer le script, mais vous avez compris le principe, on va avoir quelques procédures « sp quelque chose » qui vont permettre de générer également l'abonnement. C'est une bonne pratique de générer le script lorsque vous êtes dans des situations de production parce que ça vous permet de documenter ce que vous faites, premier avantage; deuxième avantage, souvent vous avez besoin de refaire les mêmes choses parce que vous avez oublié quelque chose ou que la réplication marche à moitié et il faut tout recommencer. À ce moment là, c'est vraiment pratique d'avoir le script. Vous n'avez plus qu'à le relancer, parfois en changeant juste deux ou trois options. Ici, je ne vais pas le faire, je termine simplement, on crée l'abonnement et vous allez voir ici, pas tout de suite, mais je vais le rafraichir, voilà, que ça a généré la création d'un deuxième travail dont le nom comporte ici l'éditeur, la base de données, la publication et le nom de l'abonné. On est vraiment ici sur le déclenchement de l'agent de distribution. Relançons la création du snapshot avec l'agent de snapshot. Très bien. Voyons ce qu'il en est dans notre répertoire maintenant. Voyez que j'ai à cet endroit maintenant un snapshot qui comporte la date de création du snapshot avec un certain nombre de fichiers. Dans ces fichiers, vous trouverez des fichiers qui comportent la création de la table et des fichiers qui comportent les données importées sous forme de « bulk-copy data file » donc de BCP natif, c'est à dire une représentation binaire du contenu des données. Ce snapshot va être récupéré maintenant par l'abonné en local et nous allons juste démarrer notre travail, mais normalement il est déjà démarré donc je vais regarder quel est son historique. Alors, Il y a eu un problème sur l'étape numéro un : syntaxe incorrecte. Bon, même problème qu'avant. Par contre, l'agent de réplication a bien démarré. Ok, on va jeter un coup d'œil sur notre abonné dans notre table et on voit bien qu'on a la table client et on regarde si le contenu s'y trouve, très bien. Le snapshot a été récupéré et appliqué sur notre abonné.

SQL Server 2016 : La réplication

Mettez en place une solution de réplication sur une plateforme SQL Server. Transférez ainsi aisément vos données entre des instances SQL Server.

1h22 (18 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :26 juil. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !