[SQL-码农]Select * from [存储过程]

本文介绍两种在 SQL Server 中调用远程服务器上的存储过程的方法。首先使用 EXEC sp_serveroption 设置远程服务器的数据访问权限,然后通过 OPENQUERY 执行远程过程。第二种方法涉及创建链接服务器,并设置登录凭据,最后同样利用 OPENQUERY 调用远程过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


方法1:

USE MASTER
GO
EXEC sp_serveroption '数据库实例地址', 'data access', 'on'
GO
SELECT *
	FROM OPENQUERY([数据库实例地址], 'exec [数据库].dbo.[PROCEDURE]') 
USE MASTER
GO
EXEC sp_serveroption '数据库实例地址', 'data access', 'off'
GO



方法2:

IF  EXISTS (SELECT srv.name FROM sys.servers srv 
			WHERE srv.server_id != 0 
			AND srv.name = N'Report_Add')
EXEC master.dbo.sp_dropserver @server=N'Report_Add', @droplogins='droplogins'

EXEC sp_addlinkedserver
      @server='Report_Add',--被访问的服务器别名 
      @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc=@@Servername 
exec sp_setnetname @@Servername, 'Report_Add'
--EXEC sp_addlinkedsrvlogin 'Report_Add', 'true', 'sa', 'sa', '....'
EXEC sp_addlinkedsrvlogin 'Report_Add', 'true'

SELECT *
	FROM OPENQUERY('Report_Add', 'exec [数据库].dbo.[PROCEDURE]') 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值