艾力达,t70次列车,喷泉模型下载
在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题
执行下列查询,如果还是存在'xx'相关的行
select * from msdb..MSdistpublishers select * from distribution..MSpublisher_databases select * from distribution..MSpublications select * from distribution..MSarticles select * from distribution..MSsubscriptions
删掉所有与'xx'先关的行(记得先备份表)
delete from distribution..MSarticles where publisher_db = '<NameOfDatabase>' delete from distribution..MSsubscriptions where publisher_db = '<NameOfDatabase>'
重建分发
如果没有像22那样修改过密码,就是删除分发复制时由于某些原因没删干净(上边的那些表)
经测试,删除发布、订阅时MSsubscriptions表中的数据会自动被删掉,
如果还存在之前的‘xx’那就是未删除干净
进程无法在“WIN-XXX”上执行“sp_replcmds” 无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。 (源: MSSQLServer,错误号: 15517
权限不够,解决方法
ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [sa] ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [分发账户] USE 数据库名 GO sp_changedbowner '分发账户'
解决方法:
更改分发库中的一个表 MSsubscriptions 的状态字段(0 = 不活动;1 = 已订阅;2 = 活动),订阅中的每个已发布项目在MSsubscriptions表中占一行。
update sub set status = 2 from distribution.dbo.MSsubscriptions sub where status<>2 and publication_id='publicationID'
执行之后,重新关闭和启动该分发代理作业,很快,复制正常了!~
为了避免过期导致的问题,有两种方法设置:
- 禁用这几个清除的作业;
- 设置更长的保质期。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论