次の方法で共有


MergeArticle.CompensateForErrors プロパティ

同期中にエラーが検出された場合、補正アクションを実行するかどうかを取得します。値の設定も可能です。

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

構文

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

value = instance.CompensateForErrors

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

プロパティ値

型: System.Boolean
Boolean 値です。true の場合、同期中にサブスクライバーまたはパブリッシャーで適用できない変更があると、その変更を取り消す補正アクションが常に実行されます。既定値の false の場合、エラーが発生しても補正アクションは実行されません。

説明

意図的に、CompensateForErrors プロパティを既定値である false に設定すると、集約が行われないため、管理者による補正アクションが必要です。

アーティクルのソース テーブルが既に別のパブリケーションでパブリッシュされている場合、CompensateForErrors の値は両方のアーティクルで同じである必要があります。

CompensateForErrors が true である場合、エラーの生成原因となる正しく構成されていないサブスクライバーが 1 つあると、他のサブスクライバーおよび他のパブリッシャーでの変更が実行されません。

CompensateForErrors が false である場合、エラーはログに記録され、後続の同期中に、マージ エージェントは、正常終了するまで変更を適用しようとします。

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

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

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

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

関連項目

参照

MergeArticle クラス

Microsoft.SqlServer.Replication 名前空間