Comment puis-je transférer des données entre différents servers de database, c'est un travail quotidien, c'est-à-dire:
Insérer dans ServerA..table1 select datatables de ServerB.table2.
(Ceci est juste un exemple, la situation réelle est que nous sélectionnons des données à partir de nombreux servers, puis faisons une jointure, puis insérons dans la destination).
Nous ne pouvons pas utiliser SSIS , nous ne pouvons pas utiliser le server lié , Comment pouvons-nous faire cela?
BTW, c'est un travail quotidien, et datatables sont énormes.
Un simple script BCP en command line devrait fonctionner pour vous. Par exemple:
bcp AdventureWorks2012.Sales.Currency out Currency.dat -T -c -SServer1 bcp AdventureWorks2012.Sales.Currency in Currency.dat -T -c -SServer2
Voici plus de détails
La structure de synchronisation peut valoir le coup d'oeil: http://msdn.microsoft.com/en-us/sync/bb736753.aspx
Regardez cette question: la version de sauvegarde SQL est incompatible avec ce server
Les premières options de ma réponse devraient fonctionner pour votre cas
Vous pouvez utiliser la méthode C # .net SqlBulkCopy.
Ma réponse a été convertie en commentaire mais j'ajoute quelques informations supplémentaires.
Je suppose que vous cherchez cette réponse sur SO:
What is the best way to auto-generate INSERT statements for a SQL Server table?
Une fois que vous avez le code, ajoutez USE your_databasename_where_to_copy_data
au début, exécutez et voila
Edit: Comme vous voulez le faire à la volée, en utilisant le code, essayez quelques-unes des solutions fournies sur cette question sur SO . Fondamentalement, il est similaire à votre proposition de code, avec quelques différences, comme par exemple:
INSERT INTO bar..tblFoobar( *fieldlist* ) SELECT *fieldlist* FROM foo..tblFoobar