sql—将数据从一台服务器复制到另一台服务器

5ktev3wc  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(454)

我有两个链接的服务器,服务器a和服务器b。我想将表1中的数据从服务器a复制到服务器b中的表2。我知道我可以从表1中选择并插入 #TempTable 通过使用以下查询。

INSERT INTO #TempTable (x,y,z) 
SELECT x,y,z
FROM table 1

但我不知道如何从数据库复制数据 #TempTable 到服务器b中的表2。我还需要每周一将数据从服务器a的表1复制到服务器b的表2。这是否意味着我需要创建一个存储过程?
如果有人能提供一些建议,我真的很感激。

ahy6op9u

ahy6op9u1#

引用远程表时,需要使用由四部分组成的表名:
[linkedservername]。[databasename]。[schemaname]。[tablename]
例如:

INSERT INTO #TempTable(x, y, z) 
 SELECT x, y, z 
 FROM ServerA.db1.dbo.TableA

使用临时表如果您引用的是远程服务器上的临时表,则由于作用域的原因,它将无法使用本地临时表。必须使用全局临时表:

INSERT INTO dbo.TableB
SELECT x, y, z
FROM ServerB.tempdb.dbo.##TempTable

请注意,名称前的两个哈希符号表示全局临时表,而不是具有单个哈希的本地临时表。
要计划插入,请使用sql代理作业。作业可以调用存储过程或特殊sql查询。

相关问题