Microsoft COM ベースの競合回避モジュール

SQL Server のすべての COM ベースの競合回避モジュールでは、更新の競合が処理され、指定した場所で挿入および削除の競合が処理されます。すべての競合回避モジュールで列追跡処理が可能です。また、ほとんどのモジュールで行追跡処理を行うこともできます。この競合回避モジュール、および他の COM ベースの競合回避モジュールで処理可能な競合の種類が宣言され、それ以外の競合に対してはマージ エージェントで既定の競合回避モジュールが使用されます。

競合回避モジュールは SQL Server のインストール処理中にインストールされます。コンピュータに登録されているすべての競合回避モジュールを表示するには、sp_enumcustomresolvers ストアド プロシージャを実行してください。個別の結果セット内にある各競合回避モジュールの説明とグローバル一意識別子 (GUID) が表示されます。

競合回避モジュールを指定するには

次の表は、特定の競合回避モジュールの属性を示しています。

名前

必要な入力

説明

コメント

Microsoft SQL Server Additive Conflict Resolver

合計する列の名前。intsmallintnumeric などの算術データ型である必要があります。

優先される競合データは優先度値によって決まります。指定された列の値は、変換元の列の値と変換先の列の値を合計した値に設定されます。1 つを NULL に設定した場合、他の列の値に設定されます。

更新の競合を対象とし、列追跡のみを行います。

Microsoft SQL Server Averaging Conflict Resolver

平均をとる列の名前。intsmallintnumeric などの算術データ型である必要があります。

優先される競合データは優先度値によって決まります。結果の列の値は、変換元の列の値と変換先の列の値の平均値に設定されます。1 つを NULL に設定した場合、他の列の値に設定されます。

更新の競合を対象とし、列追跡のみを行います。

Microsoft SQL Server DATETIME (Earlier Wins) Conflict Resolver

競合で優先されるデータを指定するのに使用する列の名前。datetime 型である必要があります。

datetime 値で日付の古い列のデータが優先されます。1 つを NULL に設定した場合、それ以外を格納する行が競合で優先されます。

更新の競合を対象とし、行および列追跡を行います。列の値は直接比較され、タイム ゾーンが異なる場合、調整は実行されません。

Microsoft SQL Server DATETIME (Later Wins) Conflict Resolver

競合で優先されるデータを指定するのに使用する列の名前。datetime 型である必要があります。

datetime 値で日付の新しい列のデータが優先されます。1 つを NULL に設定した場合、それ以外を格納する行が競合で優先されます。

更新の競合を対象とし、行および列追跡を行います。

Microsoft SQL Server Maximum Conflict Resolver

競合で優先されるデータを指定するのに使用する列の名前。intsmallintnumeric などの算術データ型である必要があります。

数値の大きい列のデータが優先されます。1 つを NULL に設定した場合、それ以外を格納する行が競合で優先されます。

行および列追跡を行います。

Microsoft SQL Server Minimum Conflict Resolver

競合で優先されるデータを指定するのに使用する列の名前。intsmallintnumeric などの算術データ型である必要があります。

数値の小さい列のデータが優先されます。1 つを NULL に設定した場合、それ以外を格納する行が競合で優先されます。

更新の競合を対象とし、行および列追跡を行います。

Microsoft SQL Server Merge Text Conflict Resolver

@resolver_info = '[col1][===]' などのテキスト列と区切り記号の名前。

優先される競合データは優先度値によって決まります。競合しているテキスト列は、マージされた値に設定されます。この値は、一般的なプレフィックスの後にパブリッシャからの一意の部分、区切り記号、最後にサブスクライバからの一意の部分の順で構成されます。

更新の競合を対象とし、列追跡のみを行います。

Microsoft SQL Server Subscriber Always Wins Conflict Resolver

入力なし。

変換元か変換先かにかかわらず、サブスクライバのデータが優先されます。

全種類の競合を対象とします。

Microsoft SQL Server Priority Column Resolver

競合で優先されるデータを指定するのに使用する列の名前。intsmallintnumeric などの算術データ型である必要があります。

数値の大きい列のデータが優先されます。1 つを NULL に設定した場合、それ以外を格納する行が競合で優先されます。

更新の競合を対象とし、行および列追跡を行います。

Microsoft SQL Server Upload Only Conflict Resolver

入力なし。

パブリッシャにアップロードされた変更が許容されます。変更はサブスクライバにはダウンロードされません。

全種類の競合を対象とします。

Microsoft SQL Server Download Only Conflict Resolver

入力なし。

パブリッシャにアップロードされた変更は拒否されます。変更はサブスクライバにダウンロードされます。

全種類の競合を対象とします。

Microsoft SQLServer Stored Procedure Resolver

競合を処理するために競合回避モジュールが呼び出すストアド プロシージャの名前。

競合の回避は、指定したストアド プロシージャのロジックに依存します。

更新の競合を対象とします。詳細については、「マージ アーティクルに対してストアド プロシージャ ベースのカスタム競合回避モジュールを実装する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。