2012-05-08 29 views
3

如何刪除發佈中的複製表以及訂閱? (僅限腳本)如何刪除發佈和訂閱中的複製表

我不想僅從複製中刪除它,因爲那麼表的未複製副本將保留在訂閱上。我想要刪除表格的所有實例。

所以我想要一個從發佈者中刪除表的腳本,並從發佈中刪除表,並在發佈者和所有訂閱者中刪除表。理想情況下,它需要表名的參數。

+0

什麼是反對票?當人們隨意投票而不留下任何評論時,我討厭它。 – hofnarwillie

回答

4

您需要致電sp_droparticlesp_dropmergearticle才能從發佈中刪除文章,然後生成新的快照。

然後調用DROP表刪除發佈者和訂閱者的表。

這包括在Add Articles to and Drop Articles from Existing PublicationsDelete an Article中。

要將DROP語句從發佈者發佈到訂閱者,請使用sp_addscriptexec

+0

謝謝你的幫助,但你誤解了這個問題。您的解決方案需要訪問訂戶數據庫才能運行腳本。我正在尋找一個在發佈服務器上運行的腳本,它僅將結構更改複製到訂閱服務器上(不需要運行任何其他腳本) – hofnarwillie

+0

然後,您需要查看sp_addscriptexec以將發佈語句發佈到訂閱服務器。否則,你無法做你所要求的。 –

+1

請看這篇文章:http://www.sqlrepl.com/sql-server/executing-scripts-with-sp_addscriptexec/ –