如何在不同的数据库服务器之间传输数据,这是一项日常工作,即:
插入 ServerA..table1 从 ServerB.table2 中选择数据。
(这只是一个例子,实际情况是我们从许多服务器中选择数据,然后做一些连接,然后插入到目标中)。
我们不能使用 SSIS,我们不能使用链接服务器,我们该怎么做?
顺便说一句,这是日常工作,数据量很大。
如何在不同的数据库服务器之间传输数据,这是一项日常工作,即:
插入 ServerA..table1 从 ServerB.table2 中选择数据。
(这只是一个例子,实际情况是我们从许多服务器中选择数据,然后做一些连接,然后插入到目标中)。
我们不能使用 SSIS,我们不能使用链接服务器,我们该怎么做?
顺便说一句,这是日常工作,数据量很大。
一个简单的命令行 BCP 脚本应该适合您。例如:
bcp AdventureWorks2012.Sales.Currency out Currency.dat -T -c -SServer1
bcp AdventureWorks2012.Sales.Currency in Currency.dat -T -c -SServer2
这里有更多细节
同步框架可能值得一看:http: //msdn.microsoft.com/en-us/sync/bb736753.aspx
我的答案已转换为评论,但我正在添加更多信息。
我猜你正在寻找这个答案:
What is the best way to auto-generate INSERT statements for a SQL Server table?
获得代码后,只需USE your_databasename_where_to_copy_data
在开头添加,执行并瞧
编辑: 当您想使用代码即时执行此操作时,请尝试在 SO 上针对此问题提供的一些解决方案。基本上它与您的代码提案类似,但有一些不同之处,例如:
INSERT INTO bar..tblFoobar( *fieldlist* )
SELECT *fieldlist* FROM foo..tblFoobar
看这个问题: SQL备份版本与此服务器不兼容
我的回答中的第一个选项应该适用于您的情况
您可以使用 C#.net SqlBulkCopy 方法。