次の方法で共有


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) を実行したのと同じことになります。

ColumnTracking プロパティは、Microsoft SQL Server 7.0、Microsoft SQL Server 2000、および Microsoft SQL Server 2005 で使用できます。

リリース

履歴

2005 年 12 月 5 日

新しい内容 :
  • パブリッシュされたテーブルの列の制限について記述されました。