SQL SERVER中復制的刪除
以下方法均為 事務復制 --PUSH方式
1、刪除單個的發布 : 復制--> 本地發布--> 右擊--> 刪除,如下圖,然后再把對應的訂閱服務器刪除掉,或者等待執行:sp_MSdistribution_cleanup 的JOB(分發清除: distribution)默認訂閱72小時失效之后自動刪除。
2、刪除全部的發布: 復制--> 右擊 --> 禁用發布和分發,如下圖,這個會同時的把分發服務器的配置清掉,需要重新配置的哦。。
其實只是執行了一個腳本
use [master] exec sp_dropdistributor @no_checks = 1 GO /* [ @no_checks=] no_checks 指示在刪除分發服務器之前是否檢查有無依賴對象。no_checks 的數據類型為 bit,默認值為 0。 如果為 0,則 sp_dropdistributor 將執行檢查,以確保除分發服務器以外的所有發布和分發對象都已刪除。 如果為 1,則 sp_dropdistributor 將在卸載分發服務器之前刪除所有發布和分發對象。 [ @ignore_distributor=] ignore_distributor 指示是否在未連接到分發服務器的情況下執行此存儲過程。ignore_distributor 的數據類型為 bit,默認值為 0。 如果為 0,則 sp_dropdistributor 將連接到分發服務器,並刪除所有復制對象。 如果 sp_dropdistributor 無法連接到分發服務器,則存儲過程將失敗。 如果為 1,則不與分發服務器建立連接,並且不刪除復制對象。 如果分發服務器正在卸載或持久脫機,才使用它。 直到分發服務器在未來某個時間重新安裝之后,才會刪除分發服務器中的該發布服務器的對象。 */ --注意: sp_dropdistributor 用於所有類型的復制。
不過不是建議直接的界面操作。
3、對於某些時候可能刪除不掉,這個時候可以直接trace一下,然后把進程殺掉
4、或者對於附加的數據庫不注意可能會出現發布的錯誤,你也刪除不掉。會報下面的錯誤。
無法作為數據庫主體執行,因為主體 "dbo" 不存在、無法模擬這種類型的主體,或您沒有所需的權限。 已將數據庫上下文更改為 'AdventureWorks2008'。 (Microsoft SQL Server,錯誤: 15517)
這個時候可以查一下數據庫屬性->文件->所有者如果沒有話,填個sa再試一次就可以。