[SQL][問題處理]無法正常刪除 replication ,造成資料庫變動異常

[SQL][問題處理]無法正常刪除 replication ,造成資料庫變動異常

SQL Server 的 Replication 是個蠻不錯使用的一個備援或分流方案,在許多場合和客戶的環境上,都很常看到。

 

最近一個朋友遇到一個狀況,在一個設定 Replication 的資料庫,因為之前發生一些異常,造成資料庫上的發行集無法刪除,而資料庫和資料表,也因為之前曾經有設定過發行,導致無法刪除的狀況。

 

正常來說如果可以刪除掉發行集,那麼就沒有這樣的問題;但問題會有兩種狀況,一種是你可以在 SSMS 上面看到有發行集,但怎麼刪除都沒有用;一種是你在 SSMS 上沒有看到,既然沒有看到,也就不知道該怎麼來刪除了。

這次遇到朋友的狀況是看的到但就是無法刪除,但那個狀況我實在模擬不出來,只好模擬第二種,就是你看不到有設定發行,但資料庫就不允許異動。而這兩種要處理的方式都相同,可以透過「sp_removedbreplication」( MSDN 網址 )來處理

EXEC sp_removedbreplication 'NORTHWND'

這樣就可以強迫把資料庫上 Replication 的紀錄都強迫刪除,這算是一個釜底抽薪的方式,當沒有其他正常方式可以去清除的話,那麼可以拿這個來當成殺手鐧。

都透過這個方式處理完之後,那麼我們就可以正常來處理資料庫的相關維護了。