Share via


手動初始化訂閱

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中手動初始化訂閱。 當正常使用初始快照集來初始化訂閱時,可以不使用快照集來初始化發行集的訂閱,但前提是訂閱者上已經有結構描述和初始資料。

本主題內容

  • 開始之前:

    限制事項

  • 若要手動初始化訂閱,請使用:

    SQL Server Management Studio

    Transact-SQL

開始之前

限制事項

  • 例如,若在複製資料和結構描述到訂閱者的時間,與手動初始化訂閱的時間之間,使用異動複寫發行的資料庫上有活動,則此活動所導致的變更可能不會複寫到訂閱者。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

透過將結構描述 (通常是資料) 複製到訂閱資料庫的方式,手動初始化發行集的訂閱。 結構描述和資料應與發行集資料庫相符。 然後在「新增訂閱精靈」的 [初始化訂閱] 頁面中指定訂閱不需要結構描述和資料。 如需有關存取這個精靈的詳細資訊,請參閱<不使用快照集初始化交易式訂閱>與<建立提取訂閱>。

您初次同步處理訂閱時,會將複寫所需的物件和中繼資料複製到訂閱資料庫。

若要手動初始化發行集的訂閱

  1. 確定將結構描述和資料複製到訂閱資料庫。

  2. 清除「新增訂閱精靈」[初始化訂閱] 頁面中的 [初始化] 核取方塊。 只有複製複寫物件和中繼資料時,才需要對每個訂閱執行此操作。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

可以使用複寫預存程序來手動初始化訂閱。

手動初始化交易式發行集的提取訂閱

  1. 確定訂閱資料庫上有結構描述和資料存在。 如需詳細資訊,請參閱<不使用快照集初始化交易式訂閱>。

  2. 在發行集資料庫的發行者上,執行 sp_addsubscription。 指定 @publication@subscriber,並針對 @destination_db 指定在訂閱者上包含已發行資料的資料庫名稱、針對 @subscription_type 指定 pull 的值及針對 @sync_type 指定 replication support only 的值。 如需詳細資訊,請參閱<建立提取訂閱>。

  3. 在訂閱者上,執行 sp_addpullsubscription。 如需更新訂閱,請參閱<建立交易式發行集的可更新訂閱>。

  4. 在訂閱者上,執行 sp_addpullsubscription_agent。 如需詳細資訊,請參閱<建立提取訂閱>。

  5. 啟動散發代理程式,以傳送複寫物件以及從發行者下載最新的變更。 如需詳細資訊,請參閱<同步處理提取訂閱>。

手動初始化交易式發行集的發送訂閱

  1. 確定訂閱資料庫上有結構描述和資料存在。 如需詳細資訊,請參閱<不使用快照集初始化交易式訂閱>。

  2. 在發行集資料庫的發行者上,執行 sp_addsubscription。 針對 @destination_db 指定在訂閱者上包含已發行資料的資料庫名稱、針對 @subscription_type 指定 push 的值及針對 @sync_type 指定 replication support only 的值。 如需更新訂閱,請參閱<建立交易式發行集的可更新訂閱>。

  3. 在發行集資料庫的發行者上,執行 sp_addpushsubscription_agent。 如需詳細資訊,請參閱<建立發送訂閱>。

  4. 啟動散發代理程式,以傳送複寫物件以及從發行者下載最新的變更。 如需詳細資訊,請參閱<同步處理發送訂閱>。

手動初始化合併式發行集的提取訂閱

  1. 確定訂閱資料庫上有結構描述和資料存在。 這項處理可以藉由在訂閱者上還原發行集資料庫的備份來完成。

  2. 在發行者上,執行 sp_addmergesubscription。 指定 @publication@subscriber@subscriber_db,並將 @subscription_type 的值指定為 pull。 如此會註冊提取訂閱。

  3. 在包含已發行資料之資料庫的訂閱者上,執行 sp_addmergepullsubscription。 針對 @sync_type 指定 none 的值。

  4. 在訂閱者上,執行 sp_addmergepullsubscription_agent。 如需詳細資訊,請參閱<建立提取訂閱>。

  5. 啟動合併代理程式,以傳送複寫物件以及從發行者下載最新的變更。 如需詳細資訊,請參閱<同步處理提取訂閱>。

手動初始化合併式發行集的發送訂閱

  1. 確定訂閱資料庫上有結構描述和資料存在。 這項處理可以藉由在訂閱者上還原發行集資料庫的備份來完成。

  2. 在發行集資料庫的發行者上,執行 sp_addmergesubscription。 針對 @subscriber_db 指定在訂閱者上包含已發行資料的資料庫名稱、針對 @subscription_type 指定 push 的值及針對 @sync_type 指定 none 的值。

  3. 在發行集資料庫的發行者上,執行 sp_addmergepushsubscription_agent。 如需詳細資訊,請參閱<建立發送訂閱>。

  4. 啟動合併代理程式,以傳送複寫物件以及從發行者下載最新的變更。 如需詳細資訊,請參閱<同步處理發送訂閱>。

搭配回到頁首連結使用的箭頭圖示[Top]

請參閱

概念

不使用快照集初始化交易式訂閱

備份及還原複寫的資料庫

複寫安全性最佳做法