代码之家  ›  专栏  ›  技术社区  ›  David542

在处理链接服务器时,连接在哪里处理?

  •  0
  • David542  · 技术社区  · 4 年前

    在从SQL Server到的示例中 join tables from a linked server ,它给出以下示例:

    SELECT local.name AS LocalLogins, linked.name AS LinkedLogins  
    FROM master.sys.server_principals AS local  
    LEFT JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked  
         ON local.name = linked.name;  
    GO  
    

    数据是如何在两个服务器之间来回传递的,处理在哪里进行?例如,SQLServer是否运行以下步骤:

    1. SELECT linked.name FROM [SRVR002\ACCTG].master.sys.server_principals
    2. 通过网络将数据发送回本地/主SQLServer,例如,将其加载到tmp表中。
    3. 在本地完成查询,例如:
    SELECT local.name AS LocalLogins, linked.name AS LinkedLogins  
    FROM master.sys.server_principals AS local  
    LEFT JOIN tmp AS linked ON local.name = linked.name;  
    

    或者查询实际上是如何执行的?

    0 回复  |  直到 4 年前