5

我想在不链接服务器的情况下从 TSQL 中的服务器 A 调用服务器 B 上的存储过程。是否可以使用连接字符串之类的东西来执行这个存储过程?返回将是单个 nvarchar 值。

问候。

4

2 回答 2

11

为避免“链接服务器”,您通常会使用OPENDATASOURCE

评论后:

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

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

注意:您可能对“临时访问”有疑问

于 2009-10-06T04:02:55.517 回答
0

我不知道没有...

  1. 创建一个扩展的存储过程来为你做这件事
  2. 也许使用 xp_cmdshell 来使用 isql 来执行您的存储过程 .. 但是,获取结果可能会很棘手(也许将结果写入当前服务器上的表中 isql 正在读取的同一个 sql 文件中)

-大学教师

于 2009-10-05T22:48:19.037 回答