Le concept de réplication de snapshot est simple. Il génère et distribue l'instantané du schéma et des données des articles, apparus à un moment précis et met à jour les modifications sur les abonnements. Lorsque nous créons une réplication d'instantané, SQL Server crée une tâche d'agent d'instantané qui génère un instantané des objets de la base de données de publication. L'instantané est stocké sur un emplacement réseau ou sur le disque dur. Vous pouvez définir l'intervalle de génération de l'instantané à l'aide de la planification du Job SQL.
Configuration de la démo
Pour cette démo, j'ai créé deux instances SQL Server dans un serveur de base de données. Les noms et les détails des instances sont les suivants :
[identifiant de table=54 /]
Dans la configuration de la démo, je n'ai pas créé de distributeur, donc l'instance d'éditeur agira également en tant que distributeur. Je vais répliquer des tables et des données appartenant à la Personne schéma de la base de données AdventureWorks2014.
Configuration de l'éditeur
Pour configurer l'éditeur, ouvrez SQL Server Management Studio, développez l'instance de base de données, développez la réplication nœud, cliquez avec le bouton droit sur Publication locale et sélectionnez Nouvelle publication . Voir l'image suivante :
L'assistant de nouvelle publication démarre. Sur l'écran, un bref résumé de l'assistant a été donné. Vous pouvez ignorer cet écran en cochant la case Ne plus afficher cette page de démarrage case à cocher. Cliquez sur Suivant pour passer à l'écran suivant. Voir l'image suivante :
Sur l'écran suivant, sélectionnez la base de données qui agit en tant qu'éditeur. Dans cette démo, j'utilise AdventureWorks2014 base de données, sélectionnez donc AdventureWorks2014 base de données dans la liste des bases de données et cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, sélectionnez un type de publication. Les types sont répertoriés dans la zone de liste Types de publication, et pour chaque type de publication, ses descriptions sont également expliquées dans Description du type de publication zone de texte. Sélectionnez Réplication d'instantané n et cliquez sur Suivant . Voir l'image suivante :
Dans la réplication, les objets de la base de données sont connus sous le nom d'articles. Sur les articles écran, la liste des objets de la base de données dans la base de données de publication s'affiche. Je vais répliquer les données de toutes les tables qui appartiennent au schéma Person, donc sélectionnez les tables qui appartiennent au schéma Person dans la liste des articles et cliquez sur Suivant . Voir l'image suivante :
Pour initialiser la réplication, nous devons générer un instantané. Sur l'Agent d'instantané l'écran, configurez l'intervalle de génération d'instantané. Vous pouvez générer immédiatement l'instantané ou vous pouvez programmer l'heure spécifique pour générer l'instantané de la base de données. Par défaut, l'instantané est généré toutes les heures, mais nous pouvons le modifier. Pour générer un instantané sur un intervalle spécifique, cliquez sur Modifier . Le Nouveau calendrier des tâches boîte de dialogue s'ouvre. Configurez le calendrier souhaité et cliquez sur OK . Voir l'image suivante :
Dans cette démo, je vais générer un instantané immédiatement, donc cochez la case Créer un instantané et garder l'instantané disponible pour initialiser l'abonnement et cliquez sur Suivant.
Sur l'écran suivant, configurez la sécurité de l'Agent SQL. Pour configurer la sécurité de l'agent, cliquez sur Paramètres de sécurité bouton. La sécurité de l'agent d'instantané boîte de dialogue s'ouvre. Dans la boîte de dialogue, indiquez le compte sous lequel l'abonné se connecte à l'éditeur. De plus, fournissez les informations de compte sous lesquelles le travail de l'agent SQL Server sera exécuté. Pour cette démo, les travaux SQL Server sont exécutés sous le compte de service de l'agent SQL Server, sélectionnez donc Exécuter sous le compte de service de l'agent SQL Server option. Les abonnés seront connectés à l'éditeur à l'aide de la connexion SQL, sélectionnez donc l'option Utilisation de l'option de connexion SQL Server suivante et fournissez le login et le mot de passe SQL. Dans cette démo, connectez-vous en utilisant le sa connexion. Cliquez sur OK pour fermer la boîte de dialogue et cliquez sur Suivant t. Voir l'image suivante :
Sur l'écran suivant, vous pouvez choisir de créer une publication ou de générer les scripts pour créer la publication. Sélectionnez l'option Générer un fichier de script pour créer la publication option pour générer les scripts des étapes de réplication. Nous allons créer une publication, sélectionnez donc Créer la publication option et cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, indiquez le nom de la publication, passez en revue le résumé des tâches à effectuer pour créer la réplication et cliquez sur Terminer pour créer la publication et fermer l'Assistant Nouvelle publication. Voir l'image suivante :
Comme je l'ai mentionné au début de l'article, lorsque nous créons une réplication d'instantané, SQL crée une tâche qui crée un instantané et stocke les fichiers d'instantané dans le répertoire par défaut.
Pour les afficher, développez SQL Server Agent>> développer Emplois . Voir l'image suivante :
Une fois la publication configurée, configurez les abonnés.
Configuration de l'abonné
Pour configurer l'abonné, connectez-vous d'abord à une autre instance SQL. Une fois connecté à l'instance, développez la réplication et cliquez avec le bouton droit sur Abonnement local . Voir l'image suivante :
Assistant Nouvel abonnement s'ouvre. Sur l'écran, un bref résumé de l'assistant a été donné. Vous pouvez ignorer cet écran en cochant la case Ne plus afficher cette page de démarrage case à cocher. Cliquez sur Suivant pour passer à l'écran suivant. Voir l'image suivante :
Sur l'écran suivant, choisissez le serveur de publication. Cliquez sur Éditeur liste déroulante et sélectionnez Rechercher l'éditeur SQL Server de la liste. Une boîte de dialogue permettant de connecter l'éditeur s'ouvre. Dans la zone de texte du nom du serveur, indiquez le nom d'hôte du serveur de l'éditeur et cliquez sur se connecter. Voir l'image suivante :
Une fois la connexion avec l'éditeur établie, la Snapshot_Replication publication et AdventureWorks2014 la base de données sera affichée dans les Bases de données et publication zone de texte. Sélectionnez Snapshot_Replication et cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, choisissez l'emplacement de l'agent de distribution. Pour cette démo, j'utiliserai Pull Subscription , sélectionnez donc Exécuter chaque agent sur son abonné option et cliquez sur Suivant :
Sur l'écran suivant, sélectionnez une base de données d'abonnement. J'ai créé une base de données nommée Persons qui agit comme une base de données d'abonnés. Dans la base de données des abonnements liste déroulante, sélectionnez Personnes base de données de la liste. Après avoir sélectionné une base de données d'abonnement, cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, configurez la sécurité de l'agent de distribution. Pour configurer la sécurité, cliquez sur le […] bouton. La sécurité de l'agent de distribution boîte de dialogue s'ouvre. Dans la première section, indiquez le compte de domaine sous lequel le processus de l'agent de distribution s'exécutera. L'agent de distribution s'exécutera sous le service de l'agent SQL Server, sélectionnez donc Exécuter sous le compte de service de l'agent SQL Server option.
Ici, je n'ai pas configuré le serveur de distribution, donc l'éditeur agit en tant que distributeur. L'abonné se connectera à l'éditeur/distributeur à l'aide de la connexion SQL. Pour connecter le répartiteur, utilisez le sa login et mot de passe. Voir l'image suivante :
Cliquez sur OK pour fermer la boîte de dialogue. Et sur la sécurité de l'agent de distribution l'écran, cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, configurez le calendrier de synchronisation de l'abonnement. Vous pouvez choisir de l'exécuter en continu ou de configurer l'exécution planifiée. Sélectionnez Exécuter en continu dans le horaire de l'agent boîte déroulante. Cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, choisissez si vous souhaitez initialiser l'abonnement immédiatement avec l'instantané des données de publication et du schéma ou après la première synchronisation. Nous initialiserons l'abonnement immédiatement, choisissez donc Immédiatement à partir de Initialiser quand boîte déroulante. Cliquez sur Suivant . Voir l'image suivante :
Sur l'écran suivant, vous pouvez choisir de créer un abonnement immédiatement ou de générer les scripts pour créer un abonnement. Sélectionnez Générer un fichier de script pour créer l'abonnement . Option pour générer les scripts des étapes de réplication. Nous allons créer une publication, donc sélectionnez l'option Créer l'abonnement et cliquez sur Suivant t. Voir l'image suivante :
Sur l'écran suivant, une liste des tâches effectuées pour créer un abonnement est donnée. Vous pouvez les examiner et cliquer sur Terminer . Voir l'image suivante :
Une fois l'abonnement créé, vous pouvez voir l'abonnement sous Abonnement local nœud. Voir l'image suivante :
Modification de la planification des instantanés
Comme je l'ai mentionné, lorsque nous créons une publication, nous pouvons configurer un intervalle d'instantané à partir de l'Agent d'instantané filtrer. Nous pouvons modifier l'intervalle d'instantané en modifiant la planification d'une tâche SQL de réplication d'instantané. Pour ce faire, sur le serveur de l'éditeur, développez SQL Server Agent>> Développer Emplois et cliquez avec le bouton droit sur la tâche de réplication d'instantané (TTI412-VM\SQL2017-AdventureWorks2014-Snapshot_Replication-4) et sélectionnez Propriétés . Voir l'image suivante :
La boîte de dialogue Propriétés du travail s'ouvre. Sélectionnez les Horaires page, sélectionnez le calendrier et cliquez sur Modifier . Voir l'image suivante :
Le horaire de travail boîte de dialogue s'ouvre. configurez le calendrier approprié et cliquez sur OK .
La configuration ci-dessus génère un instantané toutes les heures.
Modification de l'emplacement des fichiers d'instantanés
Nous pouvons également placer les fichiers d'instantanés dans un dossier différent. Pour cette démo, les fichiers d'instantanés sont stockés dans le dossier par défaut qui est E:\ReplicationSnapshot . Je vais modifier les fichiers d'instantané de l'emplacement. Le nouvel emplacement sera E:\Snapshot\PersonsSchema .
Nous pouvons modifier l'emplacement de l'instantané à partir des propriétés de la publication. Pour ouvrir les propriétés de la publication, cliquez avec le bouton droit sur Publication locale sur le serveur de l'éditeur et sélectionnez Propriétés. Voir l'image suivante :
Les propriétés de la publication boîte de dialogue s'ouvre. Dans la boîte de dialogue, sélectionnez Instantané . Sur l'instantané l'écran, décochez la case Placer les fichiers dans le dossier par défaut et sélectionnez l'option Placer les fichiers dans le dossier suivant option. Indiquez un nouveau chemin dans la zone de texte et cliquez sur OK . Voir l'image suivante :
Lorsque nous effectuons cette modification, l'instantané actuel devient invalide. Par conséquent, après avoir modifié ce paramètre, vous recevrez un avertissement comme indiqué dans l'image suivante :
Cliquez sur oui. Il générera un nouvel instantané et enregistrera les fichiers d'instantané sur E:\Snapshots\PersonsSchema\unc . Voir l'image suivante :
Affichage de l'état de la réplication
Vous pouvez utiliser Moniteur de réplication pour afficher l'état de la réplication. Pour ouvrir le moniteur de réplication, développez le champ Replicatio n nœud>> développer Publications locales>> clic droit Snapshot_Replication et sélectionnez Lancer le moniteur de réplication . Voir l'image suivante.
À l'aide du moniteur de réplication, vous pouvez afficher :
- État de la réplication
- Liste des abonnements
- Date et heure de la dernière synchronisation.
À l'aide du moniteur de réplication, vous pouvez afficher l'état de l'agent et les travaux liés au travail. Pour l'afficher, sélectionnez Agent sur le moniteur de réplication boite de dialogue. Voir l'image suivante :
Sous l'agent , vous pouvez afficher les détails suivants :
- Statut de la tâche de publication.
- Nom de la tâche de publication.
- Date et heure du dernier début de la tâche de publication.
- Durée jusqu'à la fin de la tâche de publication.
- La dernière action a été effectuée par la tâche de publication.
Résumé
Dans cet article, j'avais expliqué :
- Le niveau supérieur est un résumé de la réplication d'instantané.
- Comment configurer l'éditeur et l'abonné.
- Moniteur de réplication et son utilisation.
Outils utiles :
dbForge Data Compare for SQL Server – puissant outil de comparaison SQL capable de travailler avec le Big Data.
dbForge Schema Compare for SQL Server – outil fiable qui vous fait gagner du temps et des efforts lors de la comparaison et de la synchronisation des bases de données sur SQL Server.