SQL Server 2016 : La réplication

Créer une publication de snapshot

Testez gratuitement nos 1266 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez maintenant créer une publication d'instantanés sur votre éditeur. Choisissez également les tables que vous souhaitez inclure.
07:02

Transcription

Voyons déjà un exemple simple. On va faire une réplication de snapshot tout à fait basique, avec une table, par exemple. Donc première chose, je suis sur mon éditeur. Il faut que je m'assure que la distribution soit correctement configurée. C'est ce que nous avons fait auparavant. Donc je peux regarder ici les propriétés de la « Bases de données de distribution ». Je vois que il y a ici quelques informations et vous voyez que ici on me dit la « distribution », la « Rétention des transactions », et la « Rétention de l'historique ». lors ça peut-être intéressant de modifier ceci, cela veut dire que pour des cas de distribution de réplication transactionnelle, vous avez une rétention des informations qui va être jusqu'à 72 heures. Si une nouvelle transaction modifie quelque chose dans une publication, la base de données de distribution va la conserver pour ses abonnés jusqu'à 72 heures. Si un abonné ne vient pas se connecter à la distribution, s'il est en pull, ou si on n'arrive pas à le joindre si on est en push avant 72 heures, eh bien il n'aura pas cette modification et il sera marqué par la réplication comme étant désynchronisé. Il faudra le réinitialiser. Et puis on a une « Rétention de l'historique » des informations, c'est-à-dire dans les tables de métadonnées de la base de distribution, eh bien on aura 48 heures d'historique d'information pour notre moniteur. On verra ça. Et puis on a un certain nombre de « Serveurs de publication ». Et on voit que le « Serveur de publication » local est déjà ajouté. Donc je n'ai besoin de déclarer mon serveur local comme serveur de publication. C'est déjà le cas. Mais si j'avais ici une distribution centrale pour des éditeurs distincts, eh bien je pourrais les ajouter ici. Voilà qui est fait. Je vais prendre maintenant ma base de données d'exemple. C'est toujours la même si vous suivez ma formation. Elle s'appelle « PachaDataFormation ». Ici, peu importe de savoir ce qu'elle contient. Tout ce que je veux c'est prendre une table. Pour choisir une table et en faire une publication, je retourne dans la « Réplication ». Je descends dans les onglets et je vais ajouter ici une publication locale. Donc clic-droit, « Nouvelle publication ». Or vous aurez peut-être vu en dessous « Nouvelle publication oracle », c'est maintenant quelque chose du passé. C'est une fonctionnalité qui permettait, on va dire, de répliquer entre Oracle et SQL Server mais qui est maintenant dépréciée par Microsoft. Donc ne rêvez pas trop, ne l'utilisez pas. C'était de toute façon une usine à gaz. Donc « Nouvelle publication ». On a un assistant. On va dire quelle est la base de données dans laquelle on va créer notre publication. Et quel est le type de publication ? Je vais déjà choisir une « Publication d'instantané », donc de snapshot. Et je vais pouvoir choisir des « Tables ». Je vais prendre une table toute simple qui s'appelle « Client ». C'est une table isolée donc elle me va très bien. Je peux éventuellement choisir les « Propriétés de l'article », et cela on va le voir quand on va faire une réplication transactionnelle à un petit peu plus sophistiquée. Pour l'instant je vais juste vous montrer le raisonnement. Est-ce qu'on veut filtrer ? Donc on pourrait ajouter un filtre sous forme de clause « where » pour ne pas prendre toutes les lignes. Ici je veux toute la table. Est-ce que je vais créer un snapshot « immédiatement et garder ce dernier disponible pour l'initialisation des abonnements » ? Qu'est ce que c'est que l'initialisation ? C'est simplement un abonné qui va recevoir une première fois ces données. Et puis on va reparler quand on abordera la réplication transactionnelle. Ici comme on est en réplication de snapshot, je vais chaque fois recopier toute les données de ma table. Donc il n'y pas vraiment d'initialisation. Je peux par contre « Planifier l'exécution de l'agent d'instantané », donc un programme qui va générer le snapshot de ma publication aux heures suivantes. Par exemple, toutes les heures. Ok, ça me va. Donc bien entendu je peux venir ici et « Modifier » la planification. Quelque chose de très standard. Je passe à la page suivante. Je vais devoir choisir aussi quels sont les « Paramètres de sécurité » de mon agent d'instantanée, de mon agent de snapshot. Les agents sont des programmes externes. Ce sont des « .exe », des exécutables qui ne sont pas intégrés à SQL Server. Ils doivent donc se connecter à SQL Server pour, par exemple générer l'instantanée. Il faut donc que j'établisse ici quels sont les paramètres de cette connexion. Soit sous un compte Windows, soit sous le compte de l'agent SQL. Vous voyez ici qu'il est indiqué que c'est « non recommandé pour des raisons de sécurité ». Vous savez c'est pas très très grave dans notre cas. Mais l'idée est que si j'utilise le compte de l'agent SQL, qui est ici et qui va planifier cette exécution, eh bien le compte de service qui exécute l'agent SQL, il doit être sysadmin sur mon instance. C'est peut-être trop de permissions, et je vais peut-être donner à un exécutable, cet agent, trop de permissions. Ça pourrait causer des problèmes de sécurité si quelqu'un réussi à, par exemple, craquer cet exécutable. Bon voilà. Chez nous ça va pas vraiment poser de problème, mais c'est vrai que c'est une meilleure pratique de l'exécuter sous un compte Windows qui a moins de privilège. Et puis la « Connexion au serveur de publication », c'est-à-dire à ici, elle va se faire « En imitant le compte de processus » ou « En utilisant une connexion SQL » que vous auriez créée. Donc c'est ici. Ça veut dire : quel est le compte de service avec lequel l'agent va s'exécuter. Et ici ça veut dire : comment est ce que ce compte va se connecter à SQL Server lorsqu'il aura besoin d'aller faire la requête pour extraire la table client. Ok ? Je vais rester simple. Je laisse ceci et ceci. Je me répète une dernière fois : si vous avez des contraintes de sécurité, eh bien analysez ceci sérieusement. Eh maintenant à la fin de l'assistant, eh bien je vais simplement « Créer la publication » et comme à mon habitude je vais « Générer » le script pour vous montrer, voilà avec un « Copier - Coller », comment ça fonctionne. Je vais nommer ma publication « clients ». Voilà. Pour vérifier j'ouvre le fichier et vous voyez que une fois de plus on a des procédures de type « spreplicationdboption », « spaddpublication », « spaddpublicationsnapshot ». Donc vous pourrez le faire comme ça avec des commandes, mais comme vous pouvez le constater c'est un peu pénible. Ensuite ici, dans ma publication locale, j'ai ma nouvelle publication et puis je peux regarder ses propriétés pour savoir quels sont les articles. Voilà, c'est très simple. J'ai créé une publication de snapshot.

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 !