Mon entreprise transfère notre infrastructure vers un nouveau centre de données et j'essaie de trouver la meilleure façon de synchroniser la base de données sur le nouveau serveur avec la base de données de production actuelle jusqu'à ce que les nouveaux environnements soient prêts à être mis en service. N'étant pas un DBA à temps plein, j'ai fait quelques recherches et d'après ce que j'ai lu, il semble qu'une configuration de réplication transnationale répondrait le mieux à nos besoins.
Quelques détails: la base de données de production fait environ 90 Go et en utilisant Robocopy, il a fallu environ 9 heures pour en déplacer une copie sur l'un des nouveaux serveurs. La base de données de production actuelle devra rester en ligne et accessible tout au long du processus de migration. Il s'agit d'une récupération simple, donc la mise en miroir de bases de données n'est pas disponible.
Une réplication transactionnelle est-elle la meilleure méthode pour garder les bases de données synchronisées?
Mon plan:
- (Terminé) Transférez la base de données actuelle et connectez-vous au nouveau serveur et attachez-la à la nouvelle instance de SQL Server
- Configurer un distributeur sur notre machine de base de données de développement et y publier à partir de la base de données de production
- Créez un abonné sur la nouvelle machine de base de données qui acceptera les mises à jour qui sont expulsées du distributeur, une fois par nuit
Il y a deux choses dans mon esprit. La réplication transactionnelle nécessite que chaque table publiée ait une clé primaire et que la plupart des tables de la base de données de production n'aient pas de clé primaire définie. Je ne pense pas que ce sera un problème trop important car ma principale préoccupation est simplement de synchroniser les bases de données. Nous testerons les différentes applications qui utilisent la base de données dans des données ultérieures, mais je voudrais m'assurer que ce n'est pas un problème sérieux. Deuxièmement, dois-je également déplacer les bases de données système associées de l'instance d'origine, telles que le maître? Nous passons à une configuration Active Directory dans le nouvel environnement, donc je ne me soucie pas des utilisateurs et autres, mais je ne suis pas sûr de la nécessité des bases de données système.
Et juste en général, est-ce que je saisis correctement ces concepts?
la source
Je n'ai pas eu l'occasion de l'utiliser moi-même et je pense que c'est toujours en avant-première, mais SQL Data Sync sur la plateforme Azure pourrait être une option potentielle:
https://azure.microsoft.com/en-gb/documentation/articles/sql-database-get-started-sql-data-sync/
Il fonctionne avec les bases de données locales et Azure SQL et semble être un outil utile pour garder les bases de données synchronisées.
la source