在没有通过TSQL链接的情况下在另一个SQL Server上调用Sproc

时间:2009-10-05 22:33:52

标签: sql sql-server linked-server

我想在TSQL中从服务器A调用服务器B上的sproc而不链接服务器。是否可以使用类似连接字符串的东西来执行此sproc?返回值将是单个nvarchar值。

问候。

2 个答案:

答案 0 :(得分:9)

要避免使用“关联服务器”,您通常会使用OPENDATASOURCE

评论后:

EXEC OPENDATASOURCE('SQLNCLI', 'Data Source=London\Payroll;Integrated Security=SSPI').remoteDB.remoteSchema.remoteProc @param1, @param2,...

简单的4部分命名约定。整个OPENDATASOURCE只是替换链接的服务器名称......

注意:您可能遇到“adhoc access

的问题

答案 1 :(得分:0)

我知道没有办法没有......

  1. 创建扩展存储过程以便为您完成
  2. 也许使用xp_cmdshell来使用isql来执行你的存储过程..然而,获得结果可能会很棘手(也许把结果写在你当前服务器上的一个表中,在isql读取的同一个sql文件中)
  3. -don