应用复制的命令时在订阅服务器上找不到该行 解决办法[转](
来源:互联网 发布:网络机顶盒用法 编辑:程序博客网 时间:2024/06/08 04:05
在SQL Server的复制中出现在错误“应用复制的命令时在订阅服务器上找不到该行”,换上以前的做法就是删除掉这个复制,然后再新建一个复制,但是这次,我突然想BAIDU一下,看看别人是怎么处理这个问题的,然后发现找到的文章都是从MSDN上抄下来的,因此我决定把我的做法写下来。
首先查MSDN,确定这个错误的ID为20598,这个下面会用到;确定了错误ID之后,有两种方法可以跳过这个错误
第一种是使用“右键-》复制-》分发服务器属性-》默认配置文件-》然后新建一个新的配置文件,”这样子就可以让分发的所有复制都使用新的配置文件,一般用来修改一些公共的参数。
第二种是打开复制监视器,然后双击你要修改的那个复制,在“操作”菜单下有个代理配置文件,打开它后新建一个配置文件,然后使用这个配置文件,这种方法用来修改单个的复制的参数。
新建后修改-SkipErrors这一项,点“值”栏后输入刚刚查到的ID号,就是20598,点确定,然后勾上你刚刚新建的这个配置文件。
重启代理,打开复制监视器,你会发现它已经跳过了这个错误。
如果是对等数据复制的话,要慎用,因为可能导致两个数据库的数据不一致,请先查明原因,然后再决定是否要跳过这个错误。
于事务性复制,有两种方法可以跳过在分发过程中遇到的错误:
分发代理的 -SkipErrors 参数,可用来跳过某种类型的错误。有错误的事务将不提交,但后续的事务将提交。
sp_setsubscriptionxactseqno
重要事项:
在典型的复制处理中,应该不会遇到任何需要跳过的错误。跳过错误时要谨慎,要了解发生错误的条件、错误的起因以及需要跳过错误或特定事务而不解决的理由。如果在订阅服务器上跳过发布服务器上提交的事务,则这两个节点就不会完全同步,这会导致其他错误。
-SkipErrors 参数:
默认情况下,发布代理遇到错误时就会停止。如果使用 -SkipErrors 参数,并指定了预期的或不想让其干扰复制的错误,则代理就会记录错误信息,然后继续运行。例如,如果要指定分发代理,使其记录重复键违规但继续处理后续事务,就需要指定代理跳过错误 2601(不能在具有唯一索引 ’%.*ls’ 的对象 ’%.*ls’ 中插入重复键的行。)和 2627(违反了 %ls 约束 ’%.*ls’。不能在对象 ’%.*ls’ 中插入重复键): -SkipErrors 2601;2627
TechTarget中国原创内容,原文链接:http://www.searchdatabase.com.cn/ShowContent_8649_316.htm
- 应用复制的命令时在订阅服务器上找不到该行 解决办法[转](
- SQLSERVER 应用复制的命令时在订阅服务器上找不到该行
- 应用复制的命令时在订阅服务器上找…
- 复制DataTable时出现"该行已经属于另一个表"异常的解决办法
- SQL复制中,订阅存在服务器上的过期时间设置
- 在sys.servers 中找不到服务器的解决办法
- 在IIS7上部署FluorineFx找不到Fluorine.aspx的解决办法
- struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法
- 解决JavaWeb项目在服务器上每次启动时都会报找不到类的情况
- 如何在使用摩托罗拉上的RSS阅读器应用进行一次订阅
- CentOS 6.4 上找不到qmake的解决办法
- 无法在服务器上启动调试的解决办法
- 无法在服务器上启动调试的解决办法
- 无法在服务器上启动调试的解决办法
- 无法在服务器上启动调试的解决办法
- 无法在服务器上启动调试的解决办法
- phpmailer在服务器上不能正常发送邮件的解决办法
- [转]执行mount命令时找不到介质或者mount:no medium found的解决办法
- 南京大学学生用7000张照片算出院系“平均脸”
- C++MFC运行的程序不在任务管理器的应用程序显示但是在进程中显示
- Ajax常用框架汇总
- STM32之SysTick
- 检索程序是否启动,并将窗口显示
- 应用复制的命令时在订阅服务器上找不到该行 解决办法[转](
- 段誉、虚竹、萧峰三兄弟,谁武功最高?
- UIStepper
- 递归树求解时间复杂度
- java代理模式
- SIP学习三(SIP和VoIP协议及其应用)
- windows 端口大全
- NDIS开发[网络驱动开发] NDIS开发1
- 利用ffmpeg解码h264流的代码