在两台测试服务器部署了复制(发布订阅)后,发现订阅的表一直没有同步过来。重新生成过snapshot
,也重新初始化过订阅,都不能同步数据,后面检查Distributor To Subscriber
History, 发现有如下日志信息:

declare @tname nvarchar(255)=N'要修改的表名';

--修改所有以sl结尾的列名的小数位数为4位
select syscolumns.name into #t1
from syscolumns,systypes 
where syscolumns.xusertype = systypes.xusertype 
and syscolumns.id = object_id(@tname)
and syscolumns.name like '%sl' and systypes.name='numeric';

while exists(select top 1 name from #t1)
begin
declare @cname varchar(255);
select top 1 @cname=name from #t1
delete #t1 where name=@cname;
declare @sql nvarchar(1000);
set @sql=N'alter table '+@tname+' alter column '+@cname+' numeric(19,4)';
exec sp_executesql @sql;
end

drop table #t1;

      Mysql连接不上报的异常,调了好几个小时,分享一下

The concurrent snapshot for publication ‘RPL_PUB_Tecdb’ is not
available because it has not been fully generated or the Log Reader
Agent is not running to activate it. If generation of the concurrent
snapshot was interrupted, the Snapshot Agent for the …..

 

2003-10061错误这种情况就是没有启动,我是重装系统后出现,我安装的Mysql下并没有my.ini配置

 

  windows下也是没有,服务管理上面更是没有了,只能手动去创建来启动;

图片 1

1045错误通过修改密码,在新建的my.ini,[mysqld]下添加一行skip_grant_tables

 

使其登录时跳过权限检查   mysql -u root -p
密码随便输  切换到数据库use mysql

这个可能是因为以前配置过这个数据库的发布订阅,但是由于某些原因,没有清理干净。我参考网上的解决方案
,连续测试了几个发布订阅,都能完美解决这个问题,特此记录一下,方面以后遇到该问题能顺速解决。

修改密码 update user set
password=password(‘密码’) where user=’root’;

 

然后刷新权限flush privileges
最后关掉exit;

1:首先删除对应的发布订阅(publication & subscription ).

将以下复制到新创建的my.ini里,启动net start mysql 启动成功就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注