尝试创建功能以访问其他服务器上的数据时发生远程访问错误-SQL

时间:2018-09-20 15:59:08

标签: sql-server function runtime-error schema remote-access

我正在尝试建立一个报告(该报告使用来自不同服务器的多个功能)。

我遇到的问题是,大多数功能都位于server1上,而1个功能都位于server2上。我以为我会在server2上重新创建驻留在server1上的奇异函数。该过程本身位于server1上(尽管我可以在任一服务器上构建该过程)。问题是我要移至server1的此函数也访问server2中的表和数据。

在我的报告中,我直接跨服务器访问表时,使用正确的架构server.database.dbo等映射它们,但是我没有任何问题。但是,当尝试对某个函数执行相同的操作时,出现以下错误:

Error: 
Remote access is not allowed from within a schema-bound object.

这是可以修复的东西吗?有什么建议么。 (我的一个想法是采用该函数,仅使用对数据的标准调用将其提取,并将数据转储到临时表中)并以这种方式将其加入适当的值。但是我很好奇是否有更好的方法。

1 个答案:

答案 0 :(得分:0)

架构绑定不允许用于从其他数据库(在本例中为服务器)访问对象的函数或视图之类的对象。如果需要将该功能绑定到架构,则可以考虑将数据拉入数据仓库,然后从那里进行操作。

MSDN Function Reference