徵狀

假設您使用的是在 Microsoft SQL Server 2012 或 SQL Server 2012 Service Pack 1 (SP1)上執行發佈程式的合併複製。 將發行者升級至 SQL Server 2012 Service Pack 2 (SP2)之後,您就無法重新開機合併代理程式。 此外,您會收到下列錯誤:

合併進程無法在資料庫 ' MergePub」中執行保留式中繼資料清除。 如果繼續發生此問題,請嘗試增加此處理程式的查詢超時,或嘗試減少保留期間。 疑難排解時,請使用詳細的記錄記錄來重新開機同步處理,並指定要寫入的輸出檔案。

當您在發行者上手動執行 sp_mergemetadataretentioncleanup 的儲存程式時,該儲存程式會失敗,而且您會收到下列錯誤:

Msg 206、Level 16、State 2、程式 sp_mergemetadataretentioncleanup、行63Operand 類型衝突: Bigint 與 uniqueidentifierMsg 206、Level 16、State 2、程式 sp_mergemetadataretentioncleanup、Line 65Operand 類型衝突: int 與 uniqueidentifier 不相容

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

因應措施

若要解決此問題,請在已發佈的資料庫上執行下列查詢:if exists (select * from sys.columns sc inner join sys.types st on sc.system_type_id = st.system_type_id where object_id = object_id('dbo.sysmergesubscriptions') and sc.name = 'last_local_recgen' and st.name = 'uniqueidentifier') begin alter table dbo.sysmergesubscriptions drop column last_local_recgen alter table dbo.sysmergesubscriptions add last_local_recgen bigint null end

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×