将localserver数据库表记录插入主机服务器对应的数据库表记录

时间:2016-10-26 08:17:25

标签: sql-server database

我已通过链接服务器与本地服务器连接到主机服务器。

我在本地服务器上有数据库AA1和相关表aa1,aa2,aa3,aa4,并且我在主机服务器上有数据库AA2和相关表aa1,aa2,aa3,aa4。

每个本地服务器数据库AA1表中有50条记录 成千上万条记录进入每个主机服务器数据库AA2表。

现在我想将所有本地服务器数据库AA1表记录插入到相应的主机服务器数据库AA2表中。因此,在主机服务器数据库中插入所有表数据之后,主机服务器数据库AA2将aa1,aa2,aa3,aa4表中的所有数据记录消失,并且只将我的本地服务器数据库AA1数据放入对应表中

帮我解决SQL Server查询问题。 在此先感谢

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你想用你的本地表替换远程表。如果是这种情况,截断远程服务器上的表,然后将本地表插入远程表。

要截断表格,您可以使用:

EXEC ('TRUNCATE TABLE aa2.dbo.aa1') AT [LINKEDSERVER]
EXEC ('TRUNCATE TABLE aa2.dbo.aa2') AT [LINKEDSERVER]
EXEC ('TRUNCATE TABLE aa2.dbo.aa3') AT [LINKEDSERVER]

然后,将本地记录插入远程服务器。

INSERT INTO [LINKEDSERVER].aa2.dbo.aa1 
SELECT * FROM aa1.dbo.aa1

INSERT INTO [LINKEDSERVER].aa2.dbo.aa2
SELECT * FROM aa1.dbo.aa2

INSERT INTO [LINKEDSERVER].aa2.dbo.aa3
SELECT * FROM aa1.dbo.aa3