复制分发跳过错误


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58
 
1,临时跳过
–@publisher @@SERVERNAME,
–@publisher_db db_name(),
–@publication dbo.MSpublication publication,
–@subscriber sysname,
–@subscriber_db sysname
 
–在分发数据库上执行
sp_helpsubscriptionerrors 'SQLCLUSTER','brm_lvjian','brm_lvjian','DATABASED','brm_lvjian'
 
–跳过事务的命令(在订阅服务器上执行),对等数据不支持
sp_setsubscriptionxactseqno 'DATABASED','brm_lvjian','brm_lvjian',0x0005168B000054AA000500000000
 
2,遇到错误自动跳过
分发代理的 -SkipErrors 参数,可用来跳过某种类型的错误。
配置:本地发布-分发服务器属性-常规-右下默认配置文件-分发代理
-SkipErrors 参数
默认情况下,发布代理遇到错误时就会停止。 如果使用 -SkipErrors 参数,并指定了预期的或不想让其干扰复制的错误,则代理就会记录错误信息,然后继续运行。 例如,如果要指定分发代理,使其记录重复键违规但继续处理后续事务,就需要指定代理跳过错误 2601(不能在具有唯一索引 '%.*ls' 的对象 '%.*ls' 中插入重复键的行。)和 2627(违反了 %ls 约束 '%.*ls'。 不能在对象 '%.*ls' 中插入重复键):-SkipErrors 2601;2627 
-SkipErrors 参数的最常见用法是使用标题为“遇到数据一致性错误时继续”的分发代理配置文件。 这样,分发代理就会跳过错误 2601、2627 和 20598(应用复制的命令时在订阅服务器上找不到该行)。 有关详细信息,请参阅复制代理配置文件。 除了此预定义的配置文件之外,还可以在创建或修改的代理配置文件中,或在命令行中,指定该参数。 
 
 
 
sp_helpsubscriptionerrors
http://msdn.microsoft.com/zh-cn/library/ms173427.aspx
 
sp_setsubscriptionxactseqno
http://msdn.microsoft.com/zh-cn/library/ms188764.aspx