如何彻底摆脱复制订阅?

Rel*_*DBA 5 sql-server transactional-replication

我已经在另一台服务器上恢复了数据库。我不想要以前数据库的任何事务订阅。我已经打电话了

exec sp_removedbreplication 'MyRestoredDB' 
go
Run Code Online (Sandbox Code Playgroud)

并且

exec sp_cleanupdbreplication
go
Run Code Online (Sandbox Code Playgroud)

exec sp_replicationdboption 'MyRestoredDB','Publish','False',1
go
Run Code Online (Sandbox Code Playgroud)

但当我尝试时

truncate table dbo.sample
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

消息 4711,级别 16,状态 1,第 7 行 无法截断表“sample”,因为它已发布用于复制或启用了更改数据捕获。

我确认该数据库未启用 CDC。我还能做什么来执行截断?由于与问题无关的原因,不能选择删除。

Han*_*dyD 0

看看这篇文章:https://www.mssqltips.com/sqlservertip/2710/steps-to-clean-up-orphaned-replication-settings-in-sql-server/

尝试删除旧的订阅、所有发布,然后从数据库中删除复制,即

exec sp_dropsubscription --on all subscriptions
Run Code Online (Sandbox Code Playgroud)

然后

exec sp_droppublication --on all publications
Run Code Online (Sandbox Code Playgroud)

然后

exec sp_replicationdboption
Run Code Online (Sandbox Code Playgroud)

另外,请看一下这个问题:How to fix a badly up replication on MS SQL Server