如何在不同的数据库服务器之间传输数据 - 没有SSIS,没有链接服务器

时间:2012-09-14 09:41:23

标签: sql sql-server

如何在不同的数据库服务器之间传输数据,这是一项日常工作, 即:

Insert into ServerA..table1
   select data from ServerB.table2.

(这只是一个例子,真实的情况是我们从许多服务器中选择数据,然后进行一些连接,然后插入到目的地)。

我们无法使用SSIS ,我们无法使用链接服务器, 我们怎么做到这一点?

不过,这是一份日常工作,而且数据量很大。

5 个答案:

答案 0 :(得分:3)

一个简单的命令行BCP脚本应该适合你。例如:

bcp AdventureWorks2012.Sales.Currency out Currency.dat -T -c -SServer1
bcp AdventureWorks2012.Sales.Currency in Currency.dat -T -c -SServer2

这是more details

答案 1 :(得分:1)

Sync Framework可能值得一看:http://msdn.microsoft.com/en-us/sync/bb736753.aspx

答案 2 :(得分:0)

看看这个问题: SQL backup version is incompatible with this server

我的回答中的第一个选项适用于您的案例

答案 3 :(得分:0)

我的回答已转换为评论,但我正在添加更多信息。

我猜你在SO上寻找这个答案:

What is the best way to auto-generate INSERT statements for a SQL Server table?

获得代码后,只需在开头添加USE your_databasename_where_to_copy_data,然后执行,然后再添加

修改 如果您想在运行中使用代码,请尝试this question on SO上提供的一些解决方案。基本上它与您的代码提案类似,但有一些差异,例如:

INSERT INTO bar..tblFoobar( *fieldlist* )
SELECT *fieldlist* FROM foo..tblFoobar

答案 4 :(得分:0)

您可以使用C#.net SqlBulkCopy方法。