1
現在のサーバーにリンクされているサーバーに関数があります。この機能はローカルサーバーにも存在しますが、正確なコピーを保持するには、2つの場所に変更を展開する必要があります(理想的ではありません)。SQL Server 2012 - 動的クエリを関数内部で実行する(またはリンクされたサーバー間でexec関数を実行する)
1.リンク先サーバーまたは の間で関数を実行します。2.以下の関数が正しく実行できるように動的SQLクエリを実行しますか?関数は、あなたがそうのような関数定義を格納するためのビューを作成することができますが存在するローカルサーバー上で
Create Function [dbo].[Build_HH_Key] (@lastname varchar(60),@address varchar(150), @zip varchar(10))
returns varchar(30)
as
Begin
Declare @out_var as varchar(30)
Declare @innerSQL as varchar(1000) = 'select out_var = [MyDatabase].[dbo].[Build_HH_Key]('[email protected]+','[email protected]+','[email protected]+')'
Declare @sql as varchar(1000) = 'select @out_var = out_var from openquery([MyServer],'' '+ @innersql +' '')'
Declare @Return as varchar(30)
exec sp_executesql @sql, N'@out_var varchar(30) OUTPUT', @Return = @out_var output;
Return @Return;
End
そうですか? http://stackoverflow.com/questions/4125820/sql-server-how-to-call-a-user-defined-function-udf-on-linked-server – scsimon
@scsimon - 私はこの質問を先に見て、男のリンク。コメントは、SQL Server 2005を使用していて、2008年以降にエラーが発生したときにバージョン管理エラーが発生する可能性を指摘していました。 – rdbradshaw