如何复制/合并托管在不同MS SQL Server上的不同表中的数据,并将它们保存到另一个MS SQL Server上的一个表中

时间:2015-06-25 08:52:27

标签: sql-server sql-server-2008 database-connection

我是SQL的新手,所以请耐心等待。我希望你能帮助/指导我。我有一个关于5个MS SQL Server的表,它们具有相同的列,我想将数据合并到一个单独的表/单独的MS SQL Server中。

挑战在于我只有#34;只读许可"从源表(5 MS SQL Server),但我有权在目标MS SQL Server DB上创建一个表。

另一个挑战是我要在源表的一列中截断或提取部分txt,并将它们保存到目标表的不同列中。

下一个挑战是目标表每天查询一次源表以进行任何更新。

点击任一网址查看屏幕截图。

Screenshot URL1

Screenshot URL2

如果你可以帮助/指导我,那就非常感激。非常感谢提前。

2 个答案:

答案 0 :(得分:0)

您需要设置一个链接服务器,并使用SSIS包将数据拉入您需要的表单,或者使用服务器上的插入OPENROWSET / OPENQUERY查询您具有写权限。

预先创建一个表来放入新数据,或者如果不需要则建立临时表或将数据插入表变量。

要将字段连接到新字段,请使用以下示例:

SELECT(field1 + field 2)为Newfield 要么 SELECT(SUBSTRING(field1,2,2)+ SUBSTRING(field2,3,1))为Newfield

最后,您应该根据需要设置所有这些代理作业。

道歉,如果这不是您想要的详细信息,但似乎有很多问题需要回答,而且还没有足够的细节来帮助您进一步提供。

答案 1 :(得分:0)

Alternatively you could also do a lookup upon lookup (USING SSIS):

data flow task > download first table completely to destination server JOIN TO dataflow task > reading from destination server, do a lookup to 2 origin server (if match you might update, if not, insert) repeat until all 5 of them are done.

This is NOT the most elegant or efficient solution, but it will definitely get the work done.