2010-04-04 14 views
0

J'ai 2 PC, chacun d'eux a SQL Server 2008 installé et il y a une base de données avec des données dedans.Comment fusionner deux bases de données en une dans SQL Server 2008?

je besoin d'une manière que je peux déplacer des données dans mon DB à partir de ce serveur SQL à un autre (un autre PC qui a le même DB)

  • de déplacer les données d'un PC à un autre -

Il y a un problème, la colonne ID, parce que chaque DB de mes 2 PC contient des données de sorte que cette colonne compte de 1,2,3, ....... (les données seront en conflit avec d'autres données dans my DB)

Y at-il un moyen de résoudre mon problème et de déplacer les données avec succès?

Répondre

1

Ces colonnes d'ID de type IDENTITY sont-elles? Si c'est le cas, lorsque vous insérez les nouvelles données de la deuxième base de données, de nouveaux ID seront générés -> pas de collisions. Cela signifierait alors que vous pourriez avoir besoin de suivre les insertions, de sorte que vous puissiez définir à quoi l'ancien ID de DB # 2 a été traduit quand il a été inséré dans la DB # 1.

Si ces colonnes sont et non colonnes IDENTITY, vous pouvez simplement vous assurer d'ajouter un nombre suffisamment grand aux anciennes valeurs, par ex. remplacez chaque ID (par exemple 5) avec ID + 100'000 = 100'005 -> ainsi vous pourriez éviter tous les conflits. Encore une fois, si vous avez des données référençant cette table principale dans votre DB # 2, vous devrez corriger les anciennes références (les anciens ID de clé étrangère) aux nouvelles valeurs, avant de les insérer dans la table de votre nouvelle DB.

C'est un peu brouillon - mais cela peut certainement être fait si vous y réfléchissez suffisamment en détail. Fondamentalement, vous devrez renuméroter les données importées, et vous devez vous assurer de ne pas avoir de conflits. Il n'y a aucune fonctionnalité dans SQL Server pour vous aider avec ceci - il n'y a pas de commande "importer ces données et renuméroter son identifiant", malheureusement.

+0

merci, mais est-il possible de faire ce processus via MS SQL Server Management 2008? – Saleh

+0

pas beaucoup, non - il n'y a vraiment aucune fonctionnalité ou processus pour le faire automatiquement. –

Questions connexes