trapemiyaの日記

hatenablogが新しくなったんで新規一転また2019年1月からちょこちょこ書いてます。C#中心のプログラミングに関するお話です。

SQL Server リンクサーバーにあるユーザー関数は呼び出せない

リンクサーのユーザー関数を使おうとすると、
リモート関数参照 ・・・は許可されておらず・・・」のようなエラー出る。

下記によれば、リンクサーバーにあるユーザー関数は呼び出せない仕様のようだ。

Call User-defined Function on Linked Server :SQL Server
http://tech.sheikharis.com/2012/11/call-user-defined-function-on-linked.html

解決策も上記のページに乗っていて、OpenQueryを使えば良い。
その他のやり方もあって、OpenQueryを使わずに普通に4パート記法のselect文中でそのユーザー関数を使いたい場合は、そのユーザー関数が動作するユーザー関数を改めて定義して使えば良いようだ。