停止複寫拓撲 (複寫 Transact-SQL 程式設計)
適用於:SQL Server Azure SQL 受控執行個體
「停止」系統包括停止所有節點上已發行資料表的活動,並確定每個節點已收到來自其他所有節點的所有變更。 本主題說明如何停止複寫拓撲 (此為數項管理工作所需),以及如何確定節點已從其他節點接收到所有變更。
若要使用唯讀訂閱停止異動複寫拓撲
停止在「發行者」端的所有已發行資料表上的活動。
在發行集資料庫的發行者端,執行 sp_posttracertoken (Transact-SQL)。
在發行集資料庫的「發行者」端,執行 sp_helptracertokenhistory。
確保每個「訂閱者」已接收追蹤 Token。
若要使用可更新的訂閱停止異動複寫拓撲
停止在「發行者」端和所有「訂閱者」端的所有已發行資料表上的活動。
如果任何「訂閱者」使用佇列更新訂閱:
如果「佇列讀取器代理程式」並非以連續模式執行,請執行該代理程式。 如需執行代理程式的詳細資訊,請參閱複寫代理程式可執行檔概念或啟動及停止複寫代理程式 (SQL Server Management Studio)。
若要確認佇列是空的,請在每個「訂閱者」端執行 sp_replqueuemonitor 。
在發行集資料庫的「發行者」端,執行 sp_posttracertoken。
在發行集資料庫的「發行者」端,執行 sp_helptracertokenhistory。
確保每個「訂閱者」已接收追蹤 Token。
若要停止點對點異動複寫拓撲
停止在所有節點的所有已發行資料表上的活動。
在拓撲中的每個發行集資料庫上執行 sp_requestpeerresponse 。
如果「記錄讀取器代理程式」或「散發代理程式」並非以連續模式執行,請執行該代理程式。 「記錄讀取器代理程式」必須在「散發代理程式」之前啟動。 如需執行代理程式的詳細資訊,請參閱複寫代理程式可執行檔概念或啟動及停止複寫代理程式 (SQL Server Management Studio)。
在拓撲中的每個發行集資料庫上執行 sp_helppeerresponses 。 確定結果集包含其他每個節點的回應。
若要確定對等節點已接收所有先前的變更
在您所檢查之節點的發行集資料庫上執行 sp_requestpeerresponse 。
如果「記錄讀取器代理程式」或「散發代理程式」並非以連續模式執行,請執行該代理程式。 「記錄讀取器代理程式」必須在「散發代理程式」之前啟動。 如需執行代理程式的詳細資訊,請參閱複寫代理程式可執行檔概念或啟動及停止複寫代理程式 (SQL Server Management Studio)。
在您所檢查之節點的發行集資料庫上執行 sp_helppeerresponses 。 確定結果集包含其他每個節點的回應。
若要停止合併式複寫拓撲
停止在「發行者」端和所有「訂閱者」端的所有已發行資料表上的活動。
針對每項訂閱執行合併代理程式兩次:同步處理所有訂閱一次,然後再同步處理每個訂閱一次。 這可確保所有的變更都會複寫到所有節點。 如需執行代理程式的詳細資訊,請參閱複寫代理程式可執行檔概念或啟動及停止複寫代理程式 (SQL Server Management Studio)。
注意
如果在同步處理期間發生衝突,則在執行「合併代理程式」兩次之後,衝突解決所需的變更有可能不會傳播到所有節點。