徵狀
在 Microsoft SQL Server 2008年中的合併式複寫的同步處理和較新版本的 SQL Server,「 合併代理程式 」 可能會失敗。此外,您會收到下列錯誤訊息:
合併代理程式無法偵測該的保留性中繼資料清除作業已經不刪除中繼資料變更的 「 訂閱者 」 尚未傳送到 「 發行者 」 之後。您必須重新初始化訂閱 (不使用上載)。(來源: MSSQL_REPL,錯誤編號: MSSQL_REPL 2147199401)取得說明: http://help/MSSQL_REPL-2147199401
原因很多,可能會發生這個問題。其中包括在某些情況下預期的原因很多。若要判斷是否有意外地遇到這個錯誤,請檢查 < 原因=""> 一節所述的中繼資料詳細資料。
原因
這個問題的原因,請參閱下列的系統資料表,「 訂閱者 」:
-
dbo.sysMergeSubscriptions
-
dbo.MsMerge_Genhistory
請確定 「 合併代理程式 」 不會再進行同步處理。然後,執行下列查詢,並檢查結果:
選取從 SubscriberDB.dbo.sysMergeSubscriptions 的 sentgen,pubid = subid 和 sentgen 不是 null
選取最上層的 20 * SubscriberDB.dbo.MSmerge_genhistory 從哪裡產生 > = sentgen_value順序中的世代所查詢的輸出應該類似下面的:
-
層代中的資料行的第一列中的值是稍微大於前一個查詢中的sentgen值。
-
Genstatus資料行中的值為4。
-
Changecount資料行中的值為0。
附註第一列的coldate 」 資料行的值也是通常比其他表格列中的該資料行的值更舊的。
解決方案
若要解決這個問題,重新初始化 「 訂閱者 」 所產生的錯誤。在某些情況下,您可能可以解決這個問題,而不需完整的重新初始化。請連絡 Microsoft 客戶支援服務 」,有關可能的解決方案。若要避免這個問題的未來週期性事件,將套用下列修正程式中,視您的 SQL Server 版本而定。
累積更新資訊
SQL Server 2008
在 SQL Server 2008年中的這個問題沒有修正程式。
SQL Server 2008 R2 Service Pack 2
這個問題的修正程式首次發表累積的更新 3] 中。如需有關如何取得此累積更新套件,SQL Server 2008 R2 Service Pack 2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2754552累計更新套件 3,SQL Server 2008 R2 Service Pack 2附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於前一筆 SQL Server 2008 R2 Service Pack 2 的所有安全性修正都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
SQL Server 2008 R2 建置 SQL Server 2008 R2 Service Pack 2 已發行之後所發行的2730301
SQL Server 2012
這個問題的修正程式首次發表累積的更新 4] 中。如需有關如何為 SQL Server 2012年取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2758687累計的 SQL Server 2012年更新封裝 4附註因為組建是累計的每個新的修正程式版本會包含所有的快速補充程式,並隨附於先前的 SQL Server 2012年所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
SQL Server 2012年建置 SQL Server 2012年發行之後所發行的2692828
SQL Server 2008 R2 Service Pack 1
這個問題的修正程式首次發表中累積的更新 8。如需有關如何取得此累積更新套件,SQL Server 2008 R2 Service Pack 1 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2723743累計 SQL Server 2008 R2 sp1 更新封裝 8附註因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於前一筆 SQL Server 2008 R2 Service Pack 1 所有安全性修正程式會都修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
SQL Server 2008 R2 建置 SQL Server 2008 R2 SP1 發行之後所發行的2567616