適用対象:SQL Server
ビジネス ロジック ハンドラーの情報、またはディストリビューターで登録されている COM ベースのカスタム競合回避モジュールのクラス ID (CLSID) の値を返します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
構文
sys.sp_lookupcustomresolver
[ @article_resolver = ] N'article_resolver'
, [ @resolver_clsid = ] N'resolver_clsid' OUTPUT
[ , [ @is_dotnet_assembly = ] is_dotnet_assembly OUTPUT ]
[ , [ @dotnet_assembly_name = ] N'dotnet_assembly_name' OUTPUT ]
[ , [ @dotnet_class_name = ] N'dotnet_class_name' OUTPUT ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
引数
[ @article_resolver = ] N'article_resolver'
登録解除するカスタム ビジネス ロジックの名前を指定します。 @article_resolver は nvarchar(255) で、既定値はありません。 削除されるビジネス ロジックが COM コンポーネントの場合、このパラメーターはコンポーネントのフレンドリ名です。 ビジネス ロジックが Microsoft .NET Framework アセンブリの場合、このパラメーターはアセンブリの名前です。
[ @resolver_clsid = ] N'resolver_clsid' 出力
@article_resolver パラメーターで指定されたカスタム ビジネス ロジックの名前に関連付けられた COM オブジェクトの CLSID 値。
@resolver_clsid はnvarchar(50)型のOUTPUTパラメータです。
[ @is_dotnet_assembly = ] is_dotnet_assembly 出力
登録するカスタム ビジネス ロジックの種類を指定します。
@is_dotnet_assembly は型ビットのOUTPUTパラメータです。
-
1は、登録されているカスタム ビジネス ロジックがビジネス ロジック ハンドラー アセンブリであることを示します。 -
0(既定値) は、COM コンポーネントであることを示します。
[ @dotnet_assembly_name = ] N'dotnet_assembly_name' 出力
ビジネス ロジック ハンドラーを実装するアセンブリの名前。
@dotnet_assembly_name はnvarchar(255)型のOUTPUTパラメータです。
[ @dotnet_class_name = ] N'dotnet_class_name' 出力
ビジネス ロジック ハンドラーを実装するために BusinessLogicModule をオーバーライドするクラスの名前。
@dotnet_class_name は型 nvarchar(255)のOUTPUTパラメータです。
[ @publisher = ] N'publisher'
パブリッシャーの名前。
@publisher は sysname で、既定値は NULL です。 ストアド プロシージャがパブリッシャーから呼び出されない場合は、このパラメーターを使用します。 指定しない場合は、ローカル サーバーがパブリッシャーであると見なされます。
リターン コードの値
0 (成功) または 1 (失敗)。
解説
sp_lookupcustomresolver はマージ レプリケーションで使用されます。
sp_lookupcustomresolverは、コンポーネントがディストリビューションに登録されていない場合はNULLの値を返し、登録がビジネス ロジック ハンドラーとして登録されている .NET Framework アセンブリに属している場合は 00000000-0000-0000-0000-000000000000 の値を返します。
sp_lookupcustomresolverはsp_addmergearticleによって呼び出され、指定したarticle_resolverを検証するためにsp_changemergearticleされます。
アクセス許可
パブリケーション データベースで db_owner 固定データベース ロールのメンバーのみが sp_lookupcustomresolverを実行できます。