跳过事务复制中的错误
2006-12-24 16:46
375 查看
对于事务性复制,有两种方法可以跳过在分发过程中遇到的错误:
分发代理的 -SkipErrors 参数,可用来跳过某种类型的错误。有错误的事务将不提交,但后续的事务将提交。
sp_setsubscriptionxactseqno 存储过程,可用来跳过一个或多个导致错误的事务。非 SQL Server 的订阅服务器没有此选项。
-SkipErrors 参数
默认情况下,发布代理遇到错误时就会停止。如果使用 -SkipErrors 参数,并指定了预期的或不想让其干扰复制的错误,则代理就会记录错误信息,然后继续运行。例如,如果要指定分发代理,使其记录重复键违规但继续处理后续事务,就需要指定代理跳过错误 2601(不能在具有唯一索引 '%.*ls' 的对象 '%.*ls' 中插入重复键的行。)和 2627(违反了 %ls 约束 '%.*ls'。不能在对象 '%.*ls' 中插入重复键):
-SkipErrors 2601;2627
-SkipErrors 参数的最常见用法是使用标题为“遇到数据一致性错误时继续”的分发代理配置文件。这样,分发代理就会跳过错误 2601、2627 和 20598(应用复制的命令时在订阅服务器上找不到该行)。
sp_setsubscriptionxactseqno 存储过程
当在订阅服务器上应用 sp_setsubscriptionxactseqno 时,可以用它来跳过导致错误的事务。如果出现故障并且希望跳过一个或多个事务:
可以在分发代理停止后,在分发服务器上执行 sp_helpsubscriptionerrors。此存储过程将返回 xact_seqno 列,该列包含各失败事务的日志序列号 (LSN)。
请执行 sp_setsubscriptionxactseqno,为 @xact_seqno 参数指定一个值。如果要跳过所有失败的事务,请指定 sp_helpsubscriptionerrors 返回的最大日志序列号。
分发代理的 -SkipErrors 参数,可用来跳过某种类型的错误。有错误的事务将不提交,但后续的事务将提交。
sp_setsubscriptionxactseqno 存储过程,可用来跳过一个或多个导致错误的事务。非 SQL Server 的订阅服务器没有此选项。
-SkipErrors 参数
默认情况下,发布代理遇到错误时就会停止。如果使用 -SkipErrors 参数,并指定了预期的或不想让其干扰复制的错误,则代理就会记录错误信息,然后继续运行。例如,如果要指定分发代理,使其记录重复键违规但继续处理后续事务,就需要指定代理跳过错误 2601(不能在具有唯一索引 '%.*ls' 的对象 '%.*ls' 中插入重复键的行。)和 2627(违反了 %ls 约束 '%.*ls'。不能在对象 '%.*ls' 中插入重复键):
-SkipErrors 2601;2627
-SkipErrors 参数的最常见用法是使用标题为“遇到数据一致性错误时继续”的分发代理配置文件。这样,分发代理就会跳过错误 2601、2627 和 20598(应用复制的命令时在订阅服务器上找不到该行)。
sp_setsubscriptionxactseqno 存储过程
当在订阅服务器上应用 sp_setsubscriptionxactseqno 时,可以用它来跳过导致错误的事务。如果出现故障并且希望跳过一个或多个事务:
可以在分发代理停止后,在分发服务器上执行 sp_helpsubscriptionerrors。此存储过程将返回 xact_seqno 列,该列包含各失败事务的日志序列号 (LSN)。
请执行 sp_setsubscriptionxactseqno,为 @xact_seqno 参数指定一个值。如果要跳过所有失败的事务,请指定 sp_helpsubscriptionerrors 返回的最大日志序列号。
相关文章推荐
- 跳过事务复制中的错误
- MySQL GTID模式 主从复制跳过错误事务
- MySQL GTID复制Slave跳过错误事务Id以及复制排错问题总结
- 跳过事务复制中的错误
- mysql复制使用gtid,用gtid_purged跳过事务
- MySQL GTID复制错误处理之跳过错误
- Mysql-GTID复制跳过错误的方法
- mysql5.6主从复制第五部分[如何在从服务器中跳过一条语句/事务]
- Transactional replication(事务复制)详解之如何跳过一个事务
- 转--- 自动跳过从库复制SQL进程错误脚本
- mysql主从复制跳过错误
- mysql gtid 复制跳过错误
- 可更新订阅的事务复制错误:列名 'msrepl_tran_version' 无效
- SQL事务发布错误:当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR...
- 可更新订阅的事务复制错误:列名 'msrepl_tran_version' 无效
- 可更新订阅的事务复制错误:列名 'msrepl_tran_version' 无效
- mysql主从复制跳过错误
- mysql 5.6在gtid复制模式下复制错误,如何跳过??
- Transactional replication(事务复制)详解之如何跳过一个事务
- mariadb多源主从复制错误跳过.md