J'ai une copie de «journal expédié» d'une base de données qui vit chez un tiers. L'envoi des journaux s'exécute toutes les 15 minutes, après quoi toutes les connexions à la base de données sont supprimées. La base de données est utilisée à des fins de reporting.MERGE vs DROP Table et recréer des index dans SQL Server
J'ai décidé de tirer certaines données de la base de données de journaux expédiés (lecture seule) dans une nouvelle base de données actualisée tous les soirs. Cela permettra aux utilisateurs de se connecter à la nouvelle base de données sans risquer de perdre la connectivité en raison de l'envoi de journaux. (Cela permet également d'utiliser des autorisations de sécurité plus granulaires, puisque la copie en lecture seule ne peut pas être modifiée)
Je peux penser à 2 modèles pour y parvenir.
- drop Table, Créer table, créer des index
- utiliser l'instruction MERGE pour insérer/mettre à jour/supprimer des enregistrements
J'ai mis en œuvre en utilisant la solution la méthode 1 ci-dessus, et cela fonctionne très bien.
Il me semble un peu lourd d'abandonner toutes les données tous les jours. Y a-t-il des effets secondaires à la méthode 1 ci-dessus qui devraient me pousser à utiliser la méthode 2?
Pour donner une idée de l'échelle, je ne fais que synchronisez 3 tables,
Table 1 - 38 columns - 13,110 rows
Table 2 - 82 columns - 17,421 rows
Table 3 - 22 columns - 249 rows
La base de données est d'environ 1,3 Go. (Il y a d'autres tableaux ici aussi)
J'apprécierais les conseils sur la méthode 1 par rapport à 2, et s'il existe une autre méthode à laquelle je ne pense pas.
Avez-vous examiné la réplication transactionnelle? Je n'ai pas assez de savoir-faire pour vraiment aider davantage, mais cela pourrait être une option à regarder – mxix
Je n'ai pas examiné cela dans le contexte de cette question, car l'envoi de journaux est la méthode que notre fournisseur prend en charge pour nous avoir une copie des données. Je suppose que puisque la copie log-expédiée est en lecture seule, je ne pouvais pas l'utiliser pour la réplication transactionnelle. –