2014-01-29 22 views
1

我想获得在UNKNOWN远程数据库上执行的功能的结果。在远程数据库上执行功能

服务器名称和数据库名称仅在运行时提供。

我已经试过这一点,但没有奏效:在RPC

DECLARE @result table (result BIT) 

INSERT INTO @result 
EXEC (N'SELECT [linkedserver].[remotedb].dbo.myudf(''myparameter'')') 

SELECT * FROM @result 

回答

1

打开您的链接服务器上 -

EXEC [master].dbo.sp_serveroption @server=N'linked_server', @optname=N'rpc out', @optvalue=N'true' 

并尝试这一个 -

EXEC ('SELECT * 
FROM AdventureWorks2012.sys.fn_helpcollations()') AT [linked_server] 

或者这个(更可取的) -

EXEC [linked_server].AdventureWorks2012.sys.sp_executesql N'SELECT DB_NAME()'