【问题标题】:Execute function on a remote database在远程数据库上执行函数
【发布时间】:2014-01-29 07:48:04
【问题描述】:
我想获得在 UNKNOWN 远程数据库上执行的函数的结果。
服务器名称和数据库名称仅在运行时提供。
我试过了,但是没用:
DECLARE @result table (result BIT)
INSERT INTO @result
EXEC (N'SELECT [linkedserver].[remotedb].dbo.myudf(''myparameter'')')
SELECT * FROM @result
【问题讨论】:
标签:
sql-server
exec
linked-server
sp-executesql
【解决方案1】:
在您的链接服务器上打开RPC -
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()'