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