OpenQuery到本地表

时间:2013-05-24 18:40:00

标签: sql-server openquery

我有一个非常简单的脚本。目的是将数据从链接服务器提取到另一个数据库中的表

DECLARE @SQLString VARCHAR(2000)

SET @SQLString = 'SELECT * from OPENQUERY(MyLinkedServer, 
    ''SELECT 
    ...
    ...
    FROM SomeSchema.SomeTable'')'

INSERT INTO MySchema.MyTable
            (
              ............
            )
            EXEC(@SQLString)

这是以什么方式执行的?如果我只设置@SQLStringEXEC,结果将显示在我的屏幕上。这是否意味着运行上面的脚本会将数据从链接服务器传送到我的本地机器,然后关闭到我的sql server数据库,或者数据是否从我的链接服务器直接传送到sql server?

1 个答案:

答案 0 :(得分:1)

在转到客户端之前,数据总是从链接服务器传递到SQL Server(如果适用),如distributed querieslinked servers的文档中所示。由于您的客户端仅连接到SQL Server,而不是直接连接到链接服务器,因此这是它可以工作的唯一方式。