方法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]')