gpt4 book ai didi

sql - 如何在sql脚本中从另一个sql server服务器表中选择数据?

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

我想知道如何在 SQL 脚本中从另一个 SQL Server 实例的表中查询数据。

我正在编写在 127.0.0.1\SQLINSTANCE1 上运行的 sql 脚本,但在脚本内部将从 127.0.0.2\SQLINSTANCE2 选择数据,然后返回结果数据作为计算的一部分。

Google 搜索后,似乎使用了 sp_addlinkedserversp_addlinkedsrvlogin 存储过程来执行此操作,但不幸的是没有完整的示例工作。

我在这里有一些工作,但没有按预期工作。例如,当再次执行时,会弹出一些错误,例如服务器已链接。但是我如何执行这个脚本来链接服务器然后放​​弃它?

DECLARE @remoteserver VARCHAR = '127.0.0.2\SQLINSTANCE2';

EXEC master.sys.sp_addlinkedserver @server = @remoteserver
, @srvproduct = 'SQL Server';

EXEC master.sys.sp_addlinkedsrvlogin @rmtsrvname = @remoteserver
, @useself = 'false'
, @locallogin = NULL
, @rmtuser = 'sa'
, @rmtpassword = 'password';

另一方面,如何为这个丑陋的远程服务器名称创建别名?我宁愿使用一些优雅的名称,例如 RS in select * from [RS].[db].[dbo].[table]

最佳答案

你确实可以使用

OPENDATASOURCE

OPENROWSET

请注意,您必须打开临时分布式查询选项:

sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

关于sql - 如何在sql脚本中从另一个sql server服务器表中选择数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18651768/

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