Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 12586|Répondre: 0

[Source] La réplication des transactions SQLserver ajoute de nouvelles tables sans réinitialisation

[Copié le lien]
Publié sur 26/11/2014 15:51:12 | | | |
Lorsqu’un abonnement à la copie de transaction en ligne est en cours, vous devez désormais y ajouter une nouvelle table.

Il existe plusieurs façons possibles


1. Le moyen le plus simple est bien sûr de réinitialiser. Ajoutez la table (sp_addarticle ou utilisez l’assistant de copiage) et faites un clic droit pour la réinitialiser et générer un nouvel instantané.
  Cette méthode présente d’innombrables avantages, mais un inconvénient est que toutes les tables de la chaîne d’abonnement de réplication sont réinitialisées une seule fois, et les tables lues lors de l’initialisation ne contiennent aucune donnée. Cela peut aussi durer plus longtemps


2. Créer une nouvelle version, puis s’abonner séparément à la table mise à jour
  Cette méthode est relativement sécurisée et n’affectera certainement pas la chaîne d’abonnement de réplication existante, et les nouvelles tables ajoutées peuvent être initialisées à volonté. L’inconvénient, c’est qu’on ne peut pas toujours construire une version sur la dernière table, une méthode plus fiable est de migrer régulièrement le projet (le tableau) dans cette nouvelle version vers la chaîne d’abonnement officielle. Bien sûr, cela a aussi un avantage, car la nouvelle table peut parfois être prise en compte en cas de problème.


3. En trois étapes :
A. Remplir la nouvelle table avec les données de la base de données complète, en lecture/écriture (la cohérence des données est requise)
B. Arrêtez de lire le journal agent
C. Ajouter le nouveau tableau à l’abonnement de publication
D. Activer l’agent de lecture de journal
  Cette méthode n’a pas d’impact significatif sur la publication en ligne (comparée à la méthode 1), mais elle arrête la lecture et la copie des données pendant le fonctionnement, augmentant ainsi le délai de réplication en lecture/écriture. Si vous n’êtes pas sévère sur le délai de lecture et d’écriture, vous pouvez le choisir. Il est fortement recommandé de préparer le scénario à l’avance. Bataille rapide et décision rapide



Ce sont les trois méthodes qui me viennent à l’esprit

Théoriquement, le troisième type est le plus raisonnable (compromis), mais en ce qui concerne les exigences de l’environnement d’abonnement de réplication que je gère actuellement, la méthode 2 est plus souvent utilisée. Bien que cela puisse avoir un léger impact négatif sur les performances du serveur. Mais cela crée aussi une véritable réserve de sécurité pour que les DBA puissent gérer cet abonnement de réplication de 22 ans






Précédent:SQLServer sauvegardes restaure les bases de données
Prochain:Problème d’utilisation des indices lorsque SQLSERVER gère des traits comme ' %keyword %'
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com