移除訂閱、發行集後,發行資料庫無法刪除,出現錯誤3724

前幾天遇到跟複寫相關的錯誤[ 無法卸除資料庫 'ooxx'的問題,因為它已用來複寫。 (Microsoft SQL Server, 錯誤: 3724) ],先暫時筆記一下。

重現發生錯誤的情形,首先,移除訂閱(Subscription)

移除訂閱後,散發代理程式排程作業(Distribution Agent Job)會跟著被移除  

接著,在不停用Log Reader Agent的情形下移除發行集(Publication)

會出現錯誤: 18752

重整SSMS的畫面,發行集及相關排程確實被移除

此時,執行原發行資料庫的刪除,卻出現下圖錯誤

[註]:若在刪除發行集前,先停用Log Reader Agent,則移除發行集時不會出現錯誤: 18752,後續刪除發行資料庫也能正常執行

為了能順利刪除發行資料庫,有以下幾種方式參考:

1.使用sp_replicationdboption預存程序

--在發行端執行
EXEC sp_replicationdboption 'RplTest1','publish',false

2.使用SSMS

3.使用sp_removedbreplication預存程序

--在發行端執行
sp_removedbreplication [RplTest1]

 

 

參考:

sp_replcmds (Transact-SQL)

sp_replicationdboption (Transact-SQL)

sp_removedbreplication (Transact-SQL)

MSSQLSERVER_18752

 

 

Jay Huang