次の方法で共有


MergeArticle.ColumnTracking プロパティ

データ行の同期のときに競合をどのようにして検出するかを取得します。値の設定も可能です。

名前空間:  Microsoft.SqlServer.Replication
アセンブリ:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)

構文

'宣言
Public Property ColumnTracking As Boolean 
    Get 
    Set
'使用
Dim instance As MergeArticle 
Dim value As Boolean 

value = instance.ColumnTracking

instance.ColumnTracking = value
public bool ColumnTracking { get; set; }
public:
property bool ColumnTracking {
    bool get ();
    void set (bool value);
}
member ColumnTracking : bool with get, set
function get ColumnTracking () : boolean 
function set ColumnTracking (value : boolean)

プロパティ値

型: System.Boolean
Boolean 値です。true の場合、競合について行の各列が個別に評価されます。false の場合、行全体を評価して競合が判定されます。

説明

ColumnTracking を true に設定した場合、変更された行の各列で競合について個別に評価されます。 たとえば、列レベルの追跡が有効で、パブリッシャーとサブスクライバーの両方で同一の行を変更するが、それぞれで異なる列のセットを変更する場合は、競合は検出されず、すべての変更がマージされます。 ColumnTracking が false に設定されている場合、同一行に対する変更は競合として判定されます。

初期スナップショットの作成後に ColumnTracking を設定した場合、新たにスナップショットを生成する必要があります。

行レベルの追跡を使用して競合を検出する場合 (既定値)、ベース テーブルには最大 1,024 列含めることができますが、最大 246 列がパブリッシュされるようにアーティクルから列をフィルター選択する必要があります。 列の追跡を使用する場合、ベース テーブルには最大 246 列を含めることができます。 追跡レベルの詳細については、「マージ レプリケーションで競合を検出および解決する方法」の「追跡レベル」を参照してください。

ColumnTracking プロパティを取得できるのは、パブリッシャー側およびサブスクライバー側 (サブスクライバーを再パブリッシュする場合) の固定サーバー ロール sysadmin のメンバーです。 また、パブリケーション データベースの固定データベース ロール db_owner のメンバー、ディストリビューター側の固定データベース ロール replmonitor のメンバー、およびパブリケーション アクセス リスト (PAL) のメンバーも取得できます。

ColumnTracking プロパティを設定できるのは、パブリッシャー側の固定サーバー ロール sysadmin のメンバーです。 また、パブリケーション データベースの固定データベース ロール db_owner のメンバーも設定できます。

ColumnTracking を取得すると、sp_helpmergearticle (Transact-SQL) を実行したのと同じことになります。

ColumnTracking を設定すると、sp_addmergearticle (Transact-SQL) または sp_changemergearticle (Transact-SQL) を実行したのと同じことになります。

関連項目

参照

MergeArticle クラス

Microsoft.SqlServer.Replication 名前空間