SQLServer复制同步错误收集

更新时间:2023-06-27 19:44:08 阅读: 评论:0

SQLServer复制同步错误收集
1. 错误:已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除NoSync 订阅,然后重新创建它们
u distributiongo--查找状态不正常的发布lect status,*from dbo.MSsubscriptions where status<>2--修改状
态update dbo.MSsubscriptions t status=2where status<>2
观察复制链是否能正常运⾏,正常后⽤tablediff⽐较发布链中的表数据是否⼀致
还可以重新初始化快照,但是数据量⼤就是个悲剧。
2. 错误:表、存储过程不存在以及表结构不⼀致等
处理⽅法:
a. 表或存储过程不存在:
在订阅端对应的库中补齐缺失的对象;
有⼀种⽐较奇怪的现象是订阅端表明明存在,但是同步链依然报错,此时可能有两种情况:
第⼀: 表字段不⼀致,可以参照下⾯(b)的⽅式补齐表字段;
三皇五帝顺序
第⼆: 表字段也⼀致,但是依旧报错,可以采取三种⽅式解决:
a. 暂停同步链,然后再次开启,看是否能通过,如果不⾏,进⾏下⾯的步骤;
b. 勾选掉同步链中报错的这个表,然后观察同步链,此时去掉了这个表的发布,错误⼀般都能过去,
等到所有数据同步后,再将这个表勾选上,⼀般都能过;同步链正常后,在⽤TableDiff⼯具⽐较下
这个表的数据;
c. 如果b步骤依然报错,那就只能重建了。
b. 列名'xxx' ⽆效
可以通过以下语句查找缺失的字段对应的表
--查找某个发布链中的某个字段(Rp_XXXX 发布名xxx 字段名)lect a.name as table_name,b.name as column_name,
(lect'alter table '+a.name+' add '+b.name+''+
(cawhen name='nvarchar'thencast(b.max_length/2ASvarchar)when name like'date%'or name='money'then''el name end ) from s
3. 错误:.主键冲突
处理⽅法:跳过错误
错误完成后,需要⽐较两边数据是否⼀致(⽐下数据量就⾏了)
---------------跳过订阅机器上⾯的错误------------------------
-----------------------在分发机器上--------------------------
--语法sp_helpsubscriptionerrors [ @publisher = ]'publisher'
, [ @publisher_db = ]'publisher_db'
, [ @publication = ]'publication'
, [ @subscriber = ]'subscriber'
, [ @subscriber_db = ]'subscriber_db'--get publisher subscriberlect*from MSsubscriber_info--
get publisher_db publication subscriber_db=publisher_dblect*from MSpublications--
examplesp_helpsubscriptionerrors 'SQLw2k8','dbtranpub','dbtranpub_pub','SQLw2k8Subscriber','dbtransub'--获
铁山寺国家森林公园取xact_qno 值----------------------在订阅机器上---------------------------
sp_tsubscriptionxactqno [ @publisher= ]'publisher', [ @publisher_db= ]'publisher_db', [ @publication= ]'publication', [ @xact_qno= ] xact_q -examplesp_helpsubscriptionerrors 'SQLw2k8','dbtranpub','dbtranpub_pub',xact_qno------------------------------------------------------------------------
4. 错误:应⽤复制的命令时在订阅服务器上找不到该⾏
a. 可以采⽤“主键冲突”错误的处理⽅式,跳过错误,然后再⽤tablediff⽐较两个表的数据差;
b. 在订阅端补充缺失的数据
--使⽤如下语句找出错误
号lecttop100 e.xact_qno ,e.command_id,e.* from dbo.MSdistribution_history hjoin dbo.MSrepl_errors e _id=e.idwhere comments not -失败的代理orderby id desc--⽤上⾯查到的具体事务序列号,查看复制组件执⾏的具体命令--在分发数据库上执⾏:sp_browreplcmds,注意必
须限定开始和结束xact_qnosp_browreplcmds '0x0000003B00000020000500000000','0x0000003B00000020000500000000'--结果如
下article_id command1 {CALL [dbo].[sp_MSdel_dboUPCCodeTransaction] ('000000002 ')}--找到对应的对
象lect publisher_db,article From dbo.MSarticles where article_id=1and publication_id=
关于国庆节的作文(lect publication_id from MSpublications with(nolock) where publication='Rp_xxx')--由sp_MSdel 可以知道,这条命令是⼀个删除语句,
因为发布端的数据已经不存在,所以只能跳过;--如果是修改,需要验证上述数据在故障订阅服务器上是否存在,如果不存在,则补上。
巴西性×xx视频
5. 错误:⽤户'xxx' 登录失败或者The process could not connect to Subscriber 'xxxx'.
隋朝一共多少年
处理⽅法: 检查账号是否正确,能够登录到发布和订阅服务器,⽽且有相应的权限。
6. 发布'xxx' 的初始快照尚不可⽤
保证SQLSERVERAGENT已经运⾏,复制=》发布内容=》发布项⽬=》右击右侧的订阅=》重新初始化
如果还不⾏,复制监视器--发布服务器--xxx--发布的项⽬--快照,看到进程未能创建⽂件“\\XXZ\SQLPUB\unc”,
到该⽂件夹重新配置sql的帐号对该⽂件夹权限为"完全"。
时间排序7. 进程未能从表“[dbo].[XXX]”向外⼤容量复制
在写BCP 数据⽂件时发⽣I/O 错误(源: ODBC SQL Server Driver (ODBC); 错误代码: 0)
解决⽅法:就是字符类型全部改为n类型的解决问题(char-nchar,varchar-nvarchar,ntext).
8. 错误消息:
"代理'xxxx' 在出错后正在重试。已重试了25 次。有关详细信息,请参阅Jobs ⽂件夹中的代理作业历史记录。”
发⽣这个错误⼀般都是在⼀台机器上⾯有⽐较多的发布链,错误原因在于数据库对Replication使⽤内存的限制,
我们需要更改这个限制来解决这个问题(最好是不要再⼀台机器上创建太多的发布链),⽅法如下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\
点开Windows项,找到下⾯这些内容
%SystemRoot%\ ObjectDirectory=\Windows SharedSection=1024,20480,768
将最后的数字(不⼀定是这个数字,可能是等)改成1024 保存,重启即可。
Windows2008 rver 如果不是amdin⽤户可能会不让打开注册表,如果是管理组权限的话,可以到
C:\windows\system32 下⾯找到 ⽂件,右键,然后将⾃⼰的账号添加到运⾏权限⾥⾯。
9.--Cannot drop the databa XXX becau it is being ud for replication
exec sp_removedbreplication 'databa'
10. 在插⼊nvarchar(max)类型的字段值时,报异
蛇和猪合不合
常"Length of LOB data (92472) to be replicated exceeds configured maximum 65536. The statement has been terminated." (“要复制小黄鸡图片
的 LOB 数据的长度(92472)超出了配置的最⼤值 65536。语句已终⽌。”)
解决⽅法:修改服务器配置选项”Max Text Repl Size”(“最⼤⽂本复制⼤⼩”),它的默认值为65536,最⼤值为2147483647
通过SELECT * figurations WHERE NAME LIKE '%repl%'
例如:
sp_configure 'max text repl size', '9000000'

本文发布于:2023-06-27 19:44:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1053528.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:订阅   错误   发布
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图