在SQLServer中使用右键删除单独的发布或者订阅时,有时候删除不干净。显示删除成功但是实际上复制还是存在的。
这时候如果要从新建立该表的订阅,会提示该表以用于复制。以下语句经过测试是可以清除成功的。【但是有个BUG 如果使用第三个sp_removedbreplication清除发布或者订阅的复制对象,不能选择某个发布或者订阅,只能把该数据的所有发布或者订阅的复制对象全部清除。】
- --在订阅服务器的当前数据库中删除订阅。 (快照复制和事务复制 的删除)
exec dbo.sp_droppullsubscription 'all', 'all', 'all'
- --发布服务器的发布数据库上执行此存储的过程(删除对合并发布的订阅及其关联的合并代理)
EXEC sp_dropmergesubscription 'all', 'all', 'all'
- --删除发布服务器/订阅服务器数据库上的所有复制对象 删除本地发布或者本地订阅
EXEC sp_removedbreplication 'Text_A';