Sql-Server

將文章添加到事務發布而不生成新快照

  • June 28, 2019

使用帶有請求訂閱者的 SQL 2008 R2 事務複製,當我們添加一篇文章時,我想避免創建整個快照(數據庫約為 80 GB,所以這需要幾個小時)。

這篇文章中,我看到瞭如何通過關閉 immediate_sync 來使用部分快照,但這對我們不起作用。

理想情況下,我只想將它作為我們的 db 腳本的一部分執行以創建表,所以如果我們想要複製它,我們會這樣做:

Create Table ...    
sp_addArticle ...    
sp_PushThisToOurSubscribersNow    

您可以使用 GUI 通過 SSMS 添加文章,甚至可以對其應用過濾器。只要您不更改文章的任何其他屬性,您就不需要生成完整快照。

當您在發布 GUI 中點擊 OK(添加文章後)時,它將關閉而不提示重新初始化 - 如果確實提示重新初始化,那麼您更改了需要完整快照的內容。如果發生這種情況,請點擊取消並重試。

添加文章後,您可以簡單地啟動快照作業,您會注意到它只為新文章生成快照(稱為迷你快照)。

然後檢查您的分發作業,並註意它在訂閱者處創建了表並批量複製了您的數據。

祝你好運,如果您需要進一步的幫助,請告訴我。

  1. 在您的出版物屬性視窗中添加新文章(取消選中僅顯示列表中已選中的文章)
  2. 右鍵點擊相同的發布節點並轉到“查看快照代理狀態
  3. 點擊開始,只需注意顯示此新文章僅同步的同一視窗中的日誌
  4. 不久之後,新文章將在訂閱者中同步,而無需初始化所有先前同步的

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/12725