importer des données d'une table vers une autre table

Je suis à l'aide de SQL Server 2008 Enterprise. J'ai besoin d'importer toutes les données à partir du Serveur/de l'Instance de Serveur "Foo", Base de données "Foo" et le tableau "Foo", à destination du Serveur/de l'Instance de Serveur "Goo", Base de données de "Goo" et le tableau "Goo". Table Foo et Table Goo sont de le même schéma. Si la même ligne existe pour la table de la Goo, je veux garder l'origine des données dans Goo et ingore l'importation de ligne Foo (table Foo et table Goo deux a une colonne de type uniqueidentifier appelé code client qui sert de clé primaire et de l'index cluster), tout comme l'ignorer double de la clé n'.

Je suis à la recherche de moyens simples et sûrs d'écrire T-SQL pour résoudre des données d'importation/exportation de problème. Tout d'échantillons de référence?

EDIT 1:

J'ai essayé ci-dessous la solution à l'aide de FUSION, mais il a rencontré l'erreur suivante dans SQL Server Management Studio. Toutes les idées de ce qui est mal?

Plus d'information:

LabTest1\SQLServer2008 => Serveur\nom de l'Instance;
OrderDB => DB nom;
dbo => nom du schéma;
Commandes => nom de la Table.

merge into [dbo].[Orders] as Target
using "LabTest1\SQLServer2008.OrderDB.dbo.Orders" as source
on target.Hash = source.Hash
when not matched then
INSERT     ([Hash]
           ,[Order]
           ,[Name]
           ,[CreationTime]
           ,[Description])
     VALUES
     (
     source.[Hash], source.[Order], source.[Name], source.[CreationTime], source.[Description]
     )
when MATCHED then
;

Message d'erreur:

Msg 102, Niveau 15, État 1, Ligne 16
Syntaxe incorrecte près de ';'.

merci d'avance,
George

  • Ensuite, il suffit de supprimer le QUAND a ÉGALÉ la ligne ensemble - vous ne faites rien si la source et cible les entrées correspondent, pas vrai? Vous pourrait émettre une instruction de mise à JOUR ici
InformationsquelleAutor George2 | 2009-08-05