問題:
リンク サーバーを使用して、リモート サーバーからストアド プロシージャを呼び出しています。ほとんどの場合、これで問題なく動作しますが、テーブル値パラメーター (TVP) を使用するストアド プロシージャがいくつかあります。MSSQL は、TVP をパラメーターとして使用するリモート SP を呼び出すことはできません。
回避策は、リモート sql で sql を実行し、そこに tvps を構築することです。繰り返しますが、これはうまくいきます。
問題は、SP を呼び出すために文字列を作成する必要があることです。TVP が少ない場合、これは多かれ少なかれ簡単ですが、多くの TVP を持つ SP があります。
ここで、ストアド プロシージャ呼び出しをプロファイリングすると、TVP パラメータ ストアド プロシージャの場合の .NET から sql への呼び出しは次のようになります。
declare @p1 <type>
insert into @p1 values(...)
insert into @p1 values(...)
...
exec myProc @p1
私がしたいのは、サーバー上のラッパー (sp リモートと同じ) であり、exec sql を使用してリモート サーバーを呼び出すことです。
ストアドプロシージャからこのクエリにアクセスするにはどうすればよいですか? リモートに送信できるように、クエリのような独自のプロファイラーにアクセスしますか?