次の方法で共有


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

Microsoft SQL Server 2000 8.00.858 以前 (SP3 を含む) を実行しているサブスクライバ側のプル サブスクリプションでは、CompensateForErrors が false に設定されている場合でも補正アクションが発生します。

CompensateForErrors プロパティは、Microsoft SQL Server 2005 でのみ使用できます。

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

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

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

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

この名前空間、クラス、またはメンバは、Microsoft .NET Framework 2.0 でのみサポートされています。