gpt4 book ai didi

sql-server - 如何从两个不同的sql server获取数据?

转载 作者:行者123 更新时间:2023-12-01 11:58:24 25 4
gpt4 key购买 nike

我有一个内联查询,其中我在服务器 1 中有一个表 1,在服务器 2 中有另一个表 2。我需要加入这两个表,并获取数据。

我可以这样做,比如连接到一个服务器,获取数据并连接到下一个服务器...获取数据。并加入他们。

但是有没有其他更好的办法。我听说过链接服务器。这对这里有帮助吗?

提前致谢!!!

最佳答案

是的,在一台服务器上设置链接服务器到另一台。然后你可以用一个连接做一个普通的查询。它看起来像这样:

SELECT t1.Col1
, t2.ColA
FROM server1Table t1
INNER JOIN SERVER2.dbname.dbo.tableName t2 ON t1.TheId = t2.TheId

这假设您在 Server1 上运行查询。您还可以有两个链接服务器并使用 [servername].[dbname].[schema].[table] 引用它们,然后照常在 SQL 中使用。

或者,您可以使用 OPENROWSET (但如果您能够设置链接服务器,则链接服务器最简单)。 OpenRowSet 看起来像这样:

SELECT t1.Col1
, t2.ColA
FROM server1Table t1
INNER JOIN OPENROWSET('SQLNCLI', 'Server=Server2;Trusted_Connection=yes;',
'SELECT t2.ColA, t2.TheId FROM dbname.dbo.tableName') AS t2
ON t1.TheId = t2.TheId

然后您就可以加入“a”,就像它是本地表一样。在引擎盖下,它可能会将所有数据拉到您的本地数据库中,因此您应该考虑将 WHERE 添加到内部查询以限制行,并且只获取您需要的列。

关于sql-server - 如何从两个不同的sql server获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com