次の方法で共有


sp_registercustomresolver (Transact-SQL)

マージ レプリケーションの同期処理中に呼び出すことができる、ビジネス ロジック ハンドラまたは COM ベースのカスタム競合回避モジュールを登録します。このストアド プロシージャは、ディストリビュータ側で実行されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_registercustomresolver [ @article_resolver = ] 'article_resolver' 
    [ , [ @resolver_clsid = ] 'resolver_clsid' ]
    [ , [ @is_dotnet_assembly = ] 'is_dotnet_assembly' ]
    [ , [ @dotnet_assembly_name = ] 'dotnet_assembly_name' ]
    [ , [ @dotnet_class_name = ] 'dotnet_class_name' ]

引数

  • [ @article_resolver = ] 'article_resolver'
    登録するカスタム ビジネス ロジックの名前としてわかりやすい名前を指定します。article_resolver のデータ型は nvarchar(255) で、既定値はありません。

  • [ @resolver_clsid= ] 'resolver_clsid'
    登録する COM オブジェクトの CLSID 値を指定します。カスタム ビジネス ロジックの resolver_clsid のデータ型は nvarchar(50) で、既定値は NULL です。ビジネス ロジック ハンドラ アセンブリを登録する場合、このパラメータは有効な CLSID または NULL に設定する必要があります。

  • [ @is_dotnet_assembly= ] 'is_dotnet_assembly'
    登録するカスタム ビジネス ロジックの種類を指定します。is_dotnet_assembly のデータ型は nvarchar(50) で、既定値は FALSE です。TRUE は、登録するカスタム ビジネス ロジックがビジネス ロジック ハンドラ アセンブリであることを示します。FALSE は、COM コンポーネントであることを示します。

  • [ @dotnet_assembly_name= ] 'dotnet_assembly_name'
    ビジネス ロジック ハンドラを実装するアセンブリの名前を指定します。dotnet_assembly_name のデータ型は nvarchar(255) で、既定値は NULL です。マージ エージェントの実行可能ファイルがあるディレクトリ、マージ エージェントを同期的に起動するアプリケーションがあるディレクトリ、およびグローバル アセンブリ キャッシュ (GAC) の、いずれとも異なる場所にアセンブリが配置されている場合は、アセンブリの完全なパスを指定する必要があります。

  • [ @dotnet_class_name= ] 'dotnet_class_name'
    BusinessLogicModule をオーバーライドして、ビジネス ロジック ハンドラを実装するクラスの名前です。名前は Namespace.Classname の形式で指定する必要があります。dotnet_class_name のデータ型は nvarchar(255) で、既定値は NULL です。

戻り値

成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。

説明

sp_registercustomresolver は、マージ レプリケーションで使用します。

権限

sp_registercustomresolver を実行できるのは、固定サーバー ロール sysadmin または固定データベース ロール db_owner のメンバだけです。