sqlserver发布订阅无法初始化快照_SQLServer Replication 常见错误及处理方法

本文详细介绍了SQLServer发布订阅过程中遇到的各种错误,如表、存储过程不存在,主键冲突,登录失败等问题的处理方法,以及如何重新初始化快照。内容包括检查订阅状态,修复表结构不一致,处理主键冲突,调整数据库权限,解决I/O错误等,并提供了具体的SQL语句和操作步骤。
摘要由CSDN通过智能技术生成

1. 错误:已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除NoSync 订阅,然后重新创建它们

use distribution

go

--查找状态不正常的发布

select status,* from dbo.MSsubscriptions where status<>2

--修改状态

update dbo.MSsubscriptions set status=2 where status<>2

观察复制链是否能正常运行,正常后用tablediff比较发布链中的表数据是否一致

还可以重新初始化快照,但是数据量大就是个悲剧。

2. 错误:表、存储过程不存在以及表结构不一致等

处理方法:

a. 表或存储过程不存在:

在订阅端对应的库中补齐缺失的对象;

有一种比较奇怪的现象是订阅端表明明存在,但是同步链依然报错,此时可能有两种情况:

第一: 表字段不一致,可以参照下面(b)的方式补齐表字段;

第二: 表字段也一致,但是依旧报错,这时只能选碰碰运气,先停掉同步链,再开启,如果过了,

算运气好;如果错误依旧,就需要在该同步链中先将该表去掉,让其他数据能同步;然后再

将这个表新加到同步链中,并比较发布端和订阅端的表数据。

b. 列名'xxx' 无效

可以通过以下语句查找缺失的字段对应的表

--查找某个发布链中的某个字段(R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值