我有两个订阅发布,但它们来自同一个订阅服务器,并写入同一个订阅服务器数据库,其中一个是坏的,另一个运行良好。


我找不到一种方法来删除坏的,所以我决定放弃这两个,然后重新创建订阅。
在publisher服务器上
use [SupplierDB]
go
exec sp_dropsubscription @publication = N'SupplierDB',
@subscriber = N'REPLON1',
@destination_db = N'SupplierDB',
@article = N'all'
GO那就放弃了好的订阅。

由于无法找到删除或查看错误订阅的方法,所以我决定放弃发布,但当我尝试它时,会收到以下错误消息:
-- Dropping the transactional publication
use [SupplierDB]
exec sp_droppublication @publication = N'SupplierDB'
GOMsg 14005、级别16、状态1、过程sp_MSdrop_publication、第75行不能删除发布,因为此发布至少存在一个订阅。在尝试删除发布之前,删除对发布的所有订阅。如果问题仍然存在,复制元数据可能不正确;有关故障排除的信息,请参阅联机丛书。
我怎样才能找到和放弃这个订阅?
这是我最初在另一个问题上遇到的问题:需要删除NoSync订阅并重新创建
发布于 2015-07-31 16:13:50
您需要查看实际的目录/元数据表(S)并清理它们。GUI和存储过程通常不能正确地清理底层表。因此,在运行sp_dropsubscription SP之后,从MSsubscriptions和MSsubscriptions中运行一个select,以查看是否有任何数据引用了您不需要的订阅。见:msdn.microsoft.com/en-us/library/ms179855(v=sql.105).aspxmsdn.microsoft.com/en-us/library/ms179855(v=sql.105).aspx。删除任何表示不应该存在的订阅的行(S),它应该解决问题。您可能需要设置sp_configure‘允许更新’=1来对表进行更改(S)。
https://dba.stackexchange.com/questions/108649
复制相似问题