我有一個生產資料庫,即不斷更新的資料庫,並且我已將其配置為使用交易複製將其發佈到另一台伺服器。
當我配置交易複製時,我一直在執行以下操作:
- 禁用對來源資料庫的訪問
- 備份來源DB然後還原到訂閱伺服器
- 配置複製
- 重新啟用資料庫對我們應用程式的訪問
這種方法的問題是在停機時間安排,必須暫停我們運行的所有各種定時計劃任務,並關閉對依賴該資料庫的各種應用程式的存取。
我是否可以只配置事務複製而不禁用對發布資料庫的訪問,並且訂閱者資料庫將正確跟上?即,所有 DML 語句是否都在發布者上排隊,一旦訂閱者準備好,它們就會被挑選出來並執行?
答案1
The simple answer is No... You do not need to disable access to the system etc. Here is why and how it works... When you setup replication, the publisher creates a Snapshot of the data at that very moment you create the出版品.還有一個日誌讀取器與事務複製同時運行,捕獲自上次快照創建以來的每個事務。所以......當創建訂閱者時,它基本上是一個兩步驟過程:
步驟 1:快照應用於訂閱伺服器,在訂閱伺服器資料庫上建立架構和資料。
步驟2:然後在訂閱伺服器上套用自快照時間以來的事務,以使訂閱伺服器資料庫更新為最新資料。
所以基本上,不,您不需要執行所有其他操作來建立新訂閱者。
需要幫助請叫我。
謝謝!
-VM