SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!
2018-01-26 17:39
330 查看
原文:SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!
在可更新订阅的同步复制中,有行筛选的项目表,移除的时候会提示重新初始化所有的快照并且应用此快照,这将导致所有的订阅数据库被重新初始化。
如下图,移除项目的时候提示:
此时如果取消则则取消操作
如果点击【标志为要重新初始化(M)】,勾选【立即生成新快照】,则立即生成新快照并初始化所有!——千万别操作!
如果点击【标志为要重新初始化(M)】,不勾选【立即生成新快照】,则下次启动快照时立即生成新快照并初始化所有!——千万别操作!
解决办法:
不要使用界面操作,用sql代码执行!
执行命令则完成!
其他同步正常!
注意:此时不要在订阅数据库中操作刚才除去发布的表,因为还有触发器,得禁用或删除,否则队列代理会出错使订阅不能同步回发布数据库。
(操作其他表不会使队列代理出错,同步正常。)
若操作除去发布的表使队列代理出错后,可把表添加回去发布,队列代理自动回归正常!
(但是队列中断时期在订阅数据库中操作的数据,因没有同步回发布数据库中,只能手工同步)
此时若继续添加该项目(表)并且有行筛选,正常用界面进行操作,不会有任何提示。
再启动生成快照,此时只对此单个表生成快照并初始化单个表!
如图:
参考:
sp_dropsubscription
sp_droparticle
记住:在操作的时候,建议测试多次!
在可更新订阅的同步复制中,有行筛选的项目表,移除的时候会提示重新初始化所有的快照并且应用此快照,这将导致所有的订阅数据库被重新初始化。
如下图,移除项目的时候提示:
此时如果取消则则取消操作
如果点击【标志为要重新初始化(M)】,勾选【立即生成新快照】,则立即生成新快照并初始化所有!——千万别操作!
如果点击【标志为要重新初始化(M)】,不勾选【立即生成新快照】,则下次启动快照时立即生成新快照并初始化所有!——千万别操作!
解决办法:
不要使用界面操作,用sql代码执行!
--如, 一个数据库有多个订阅 exec sp_dropsubscription @publication=N'发布名次A', @article=N'表名', @subscriber=N'all' exec sp_droparticle @publication = N'发布名次A', @article = N'表名', @force_invalidate_snapshot = 0 GO exec sp_dropsubscription @publication=N'发布名次B', @article=N'表名', @subscriber=N'all' exec sp_droparticle @publication = N'发布名次B', @article = N'表名', @force_invalidate_snapshot = 0 GO @subscriber=N'all' --要删除其订阅的订阅服务器名。 subscriber 的数据类型为 sysname,无默认值。 --如果为 all,则删除所有订阅服务器的所有订阅。 @force_invalidate_snapshot = 0 --0 指定对项目所做的更改不会导致快照失效。 --1 指定对项目所做的更改可能会导致快照失效
执行命令则完成!
其他同步正常!
注意:此时不要在订阅数据库中操作刚才除去发布的表,因为还有触发器,得禁用或删除,否则队列代理会出错使订阅不能同步回发布数据库。
(操作其他表不会使队列代理出错,同步正常。)
若操作除去发布的表使队列代理出错后,可把表添加回去发布,队列代理自动回归正常!
(但是队列中断时期在订阅数据库中操作的数据,因没有同步回发布数据库中,只能手工同步)
此时若继续添加该项目(表)并且有行筛选,正常用界面进行操作,不会有任何提示。
再启动生成快照,此时只对此单个表生成快照并初始化单个表!
如图:
参考:
sp_dropsubscription
sp_droparticle
记住:在操作的时候,建议测试多次!
相关文章推荐
- SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!
- SQLServer 复制中移除和添加发布而不初始化所有项目
- SQLServer 复制中移除和添加发布而不初始化所有项目
- SQL SERVER 2005 同步复制技术 发布与订阅功能使用说明
- SQL Server提高事务复制效率优化(三)订阅初始化优化
- SQL Server事务复制通过备份文件进行订阅初始化
- 利用SQL Server复制技术实现数据同步更新
- sql server 数据库复制实现数据同步常见问题(不定期更新)
- sql server 提示无法彻底删除_复制-而无法删除数据库或重新配置发布订阅
- 发布、订阅、复制、同步SQL Server 2000 数据库
- 利用SQL Server复制技术实现数据同步更新
- SQL Server 复制 - 发布订阅(SQL Server 数据同步)
- SQLServer 复制中移除和加入公布而不初始化全部项目
- SQL Server 可更新订阅事务复制的identify列自动分配取值范围
- 利用SQL Server复制技术实现数据同步更新
- SQL Server 事务复制分发到订阅同步慢
- SQL Server 复制 - 发布订阅(SQL Server 数据同步)
- SQL Server 事务复制分发到订阅同步慢
- SQLserver 2008同步复制创建后新增表/函数/存储过程(不重新初始化快照)
- SQL Server 2005-同步复制技术:发布、订阅