如何手動移除複寫,在 SQL Server 2000 或 SQL Server 2005 中

文章翻譯 文章翻譯
文章編號: 324401 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何從正在執行 Microsoft SQL Server 2000 或 Microsoft SQL Server 2005 的電腦移除複寫。您必須將一個複寫卸除訂閱、 發行集和已設定為 「 複寫散發者。您可以藉由執行 Transact-SQL 指令碼所產生的 SQL Server 企業管理員] 或 [SQL Server 管理 Studio 移除複寫。不過,如果您不能產生 [Transact-SQL 指令碼以移除複寫,您可以使用系統預存程序和其他 Transact-SQL 陳述式,以手動移除複寫。本文包含可在此處理程序中使用的系統預存程序的相關資訊。

附註如需詳細資訊,有關系統這篇文章所述的預存程序請參閱 SQL Server 線上叢書 》。

手動移除複寫

藉由使用系統預存程序和其他 Transact-SQL 陳述式,可以手動移除複寫。若要完全移除複寫,請依照下列步驟執行:
  1. 卸除所有的訂閱設定為複寫。
  2. 卸除所有的出版物設定為複寫]。
  3. 卸除散發者已設定為複寫]。
附註系統預存程序,為每個複寫類型會列在本文稍後。使用適當的預存程序,您想要移除的複寫類型而定。

卸除訂閱

若要從 SQL Server 的執行個體,卸除訂閱,您可以使用下列的預存程序和適當的參數:
  • sp_dropsubscription: 您可以使用 sp_dropsubscription 系統預存程序來卸除 「 發行者 」 上的一個特定的發行項、 發行物或一組的訂閱的訂閱。您必須在發行集資料庫上,在 「 發行者 」 伺服器執行預存程序。
  • sp_droppullsubscription: 您可以使用 sp_droppullsubscription 系統預存程序來則卸除目前的資料庫,「 訂閱者 」 的訂閱。您必須在提取訂閱資料庫上,在 「 訂閱者 」 執行預存程序。
  • sp_dropmergesubscription: 您可以使用 sp_dropmergesubscription 系統預存程序來卸除訂閱合併式發行集,並與合併式發行集相關聯的 「 合併代理程式 」。您必須在發行集資料庫上,在 「 發行者 」 伺服器執行預存程序。
  • sp_dropmergepullsubscription: 您可以使用 sp_dropmergepullsubscription 系統預存程序來卸除合併提取訂閱。您必須在提取訂閱資料庫上,在 「 訂閱者 」 執行預存程序。

卸除快照式訂閱

若要卸除快照式發行集的所有發行項的發送訂閱,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
要卸除快照式發行集的所有發行項的快照式提取訂閱,請依照下列步驟執行:
  1. 在 「 訂閱者 」 執行下列 SQLb 指令碼:
    USE <Subscription database name>
    GO
    EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publication database name>', @publication = N'<Publication name>'
  2. 在發行者端執行下列指令碼:
    USE <Publication database name>
    GO
    EXEC sp_dropsubscription @publication=N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'

卸除交易式訂閱

若要卸除交易式發行集的所有發行項的發送訂閱,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_dropsubscription @publication = N'<Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
要卸除交易式發行集的所有發行項的提取訂閱,請依照下列步驟執行:
  1. 在 「 訂閱者 」 執行下列指令碼:
    USE <Subscription database name>
    GO
    EXEC sp_droppullsubscription @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>', @publication = N'<Publication name>'
  2. 在發行者端執行下列指令碼:
    USE <Publication database name>
    GO
    EXEC sp_dropsubscription @publication =N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'<Destination database name>'

卸除合併訂閱

若要卸除發送訂閱,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_dropmergesubscription @publication = N'<Publication name>', @subscriber = N'<Publisher server name>', @subscriber_db = N'<Subscription database name>', @subscription_type = N'push'
要卸除提取訂閱,請依照下列步驟執行:
  1. 在 「 訂閱者 」 執行下列指令碼:
    USE <Subscription database name>
    GO
    EXEC sp_dropmergepullsubscription @publication = N'<Publication name>', @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>'
  2. 在發行者端執行下列指令碼:
    USE <Publication database name>
    GO
    EXEC sp_dropmergesubscription @subscription_type = N'pull', @publication = N'<Publication name>', @subscriber = N'<Subscriber server name>', @subscriber_db = N'<Subscription database name>'

卸除發行集

移除訂閱發行集的所有訂閱之後,您可以都移除發行集。移除在發行集資料庫的發行集之後必須將發行集資料庫的 [複寫] 資料庫選項設為 false。若要將出版物中,您可以使用下列系統預存程序:
  • sp_droppublication: 您可以使用 sp_droppublication 系統預存程序來卸除發行集與發行集相關聯的文件。 您必須在發行集資料庫上,在 「 發行者 」 執行預存程序。
  • sp_dropmergepublication: 您可以使用 sp_dropmergepublication 系統預存程序來卸除合併式發行集與快照集代理程式與合併式發行集相關聯。亦同時卸除發行集相關聯的文件。您必須在發行集資料庫上,在 「 發行者 」 執行預存程序。
  • sp_replicationdboption: 您可以使用 sp_replicationdboption 系統預存程序來設定目前的資料庫是複寫資料庫選項。您必須在 「 發行者 」 伺服器執行預存程序。
若要卸除快照式發行集,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_droppublication @publication = N'<Publication name>'

USE master
GO
exec sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'
卸除交易式發行集,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_droppublication @publication = N'<Publication name>'

USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'publish', @value = N'false'
卸除合併式發行集,在發行者端執行下列指令碼:
USE <Publication database name>
GO
EXEC sp_dropmergepublication @publication = N'<Publication name>'

USE master
GO
EXEC sp_replicationdboption @dbname = N'<Publication database name>', @optname = N'merge publish', @value = N'false'

卸除散發者

您卸除所有訂閱和發行集之後您可以卸除相關的 「 散發者 」。但是,您卸除散發者之前您必須訂閱者指定從卸除 「 發行者 」。如果要執行這項操作,使用下列預存程序:
  • sp_dropsubscriber: 您可以使用 sp_dropsubscriber 系統預存程序來從已註冊的伺服器卸除訂閱者指定。預存程序可移除登錄項目為訂閱者。預存程序是在 「 發行者 」 執行發行集資料庫上。
  • sp_dropdistributor: 您可以使用 sp_dropdistributor 系統預存程序來移除散發者。在散發者執行預存程序。
若要從 「 發行者 」,卸除訂閱者指定,在發行者端執行下列指令碼:
USE master
GO
EXEC sp_dropsubscriber @subscriber = N'<Subscriber server name>', @reserved = N'drop_subscriptions'
將散發者執行下列指令碼在散發者:
USE master
GO
EXEC sp_dropdistributor @no_checks = 1

使用預存程序

當您移除複寫時,您也可以使用下列預存程序:
  • sp_removedbreplication: 您可以使用 sp_removedbreplication 系統預存程序來移除資料庫中的所有複寫物件,而不更新資料在散發者。在發行集資料庫上 「 發行者 」 或者訂閱資料庫上 「 訂閱者 」,您必須執行預存程序。下列是這個預存程序的語法:
    sp_removedbreplication '<Database name>'
  • sp_droparticle: 您可以使用 sp_droparticle 系統預存程序,從快照式發行集或交易式發行集卸除發行項。如果發行的發行項的一或多個訂閱仍存在,您無法移除發行項。您必須在發行集資料庫上,在 「 發行者 」 執行預存程序。下列是這個預存程序的語法:
    sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1

?考

如需詳細資訊請參閱下列 SQL Server 線上叢書 》 主題]:
  • 如何停用發行和分配 (Transact-SQL)
  • 如何刪除發行集及發行項 (Transact-SQL)
  • 如何刪除發送訂閱 (Transact-SQL)
  • 如何刪除提取訂閱 (Transact-SQL)
  • 如何刪除匿名訂閱 (Transact-SQL)
  • 如何刪除發行集及發行項 (企業管理員)
  • 如何刪除發送訂閱 (企業管理員)
  • 如何刪除提取或匿名訂閱 (企業管理員)

屬性

文章編號: 324401 - 上次校閱: 2005年11月23日 - 版次: 3.3
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
關鍵字:?
kbmt kbhowtomaster kbreplication kbstoredproc KB324401 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:324401
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com