Share via


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

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

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

更新の競合を対象とします。 詳細については、「マージ アーティクルのカスタム競合回避モジュールの実装」を参照してください。

関連項目

参照

sp_enumcustomresolvers (Transact-SQL)

概念

マージ レプリケーションの競合検出および解決の詳細