Question

Je 12 bases de données totalisant environ 1.0TB, chacun sur un serveur physique différent exécutant SQL 2005 Enterprise - tous avec le même schéma exact. Je dois décharger ces données dans une seule base de données séparée afin que nous puissions utiliser à d'autres fins (rapports, services Web, ect) avec un maximum de temps d'attente de 1 heure.

Il convient également de noter que ces serveurs sont tous dans le même rack, reliés par des connexions gigabit et que les insertions dans les bases de données sont minimes (Moy. 2500 dossiers / heure). La méthode actuelle est très flakey: Les données sont actuellement en cours de réplication (SQL Server Transactional Replication) de chacun des 12 serveurs à une base de données sur un autre serveur (oui, 12 tables d'employés différents de 12 serveurs différents en une seule table des employés sur un autre serveur).

Chaque table a une clé primaire et les lignes sont uniques à travers toutes les tables (il y a un FacilityID dans chaque tableau).

Quelles sont mes options? Il doit être un moyen simple de le faire.

Était-ce utile?

La solution

Quel est le problème avec la réplication SQL Server transactionnelles, de nombreux endroits l'utilisent? on dirait qu'il est mis en place gentiment, avec un FacilityID dans chaque base de données?

Autres conseils

Selon le nombre de tables que vous traitez, il pourrait être plus facile à mettre en place des paquets ETL SSIS qui se déplacent les données de chacune des tables. Si vous configurez des configurations de package et le schéma est le même que vous devriez être en mesure d'utiliser le même ensemble de paquets pour toutes les bases de données. Si vous avez plus de 10-20 tables, je ne serais probablement pas non plus faire les paquets ETL ou je veillerais que la création d'entre eux a été automatisé en quelque sorte.

Comme vous l'avez Enterprise Edition et les tailles de données, les mêmes schémas que vous avez mentionnés une approche pourrait consister à utiliser des tableaux Partitoned, 1 pour chacune des différentes sources sur le serveur de destination, exemple vous pouvez utiliser pour la partition clé du [ FacilityID] colonne que vous avez mentionné en supposant que cela est unqiue pour chaque source, puis juste après les données normales déplacent les opérations qui areUsed pour déplacer les données entre la partition, cela vous donne une table consolidée (partitionné) vous ressemblez que vous recherchez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top