我正在尝试建立一个报告(该报告使用来自不同服务器的多个功能)。
我遇到的问题是,大多数功能都位于server1
上,而1个功能都位于server2
上。我以为我会在server2
上重新创建驻留在server1
上的奇异函数。该过程本身位于server1
上(尽管我可以在任一服务器上构建该过程)。问题是我要移至server1
的此函数也访问server2
中的表和数据。
在我的报告中,我直接跨服务器访问表时,使用正确的架构server.database.dbo等映射它们,但是我没有任何问题。但是,当尝试对某个函数执行相同的操作时,出现以下错误:
Error:
Remote access is not allowed from within a schema-bound object.
这是可以修复的东西吗?有什么建议么。 (我的一个想法是采用该函数,仅使用对数据的标准调用将其提取,并将数据转储到临时表中)并以这种方式将其加入适当的值。但是我很好奇是否有更好的方法。
答案 0 :(得分:0)
架构绑定不允许用于从其他数据库(在本例中为服务器)访问对象的函数或视图之类的对象。如果需要将该功能绑定到架构,则可以考虑将数据拉入数据仓库,然后从那里进行操作。