共用方式為


MSSQL_REPL027183

訊息細節

產品名稱 SQL Server
事件識別碼 27183
事件來源 MSSQLSERVER
元件 SQL Server 資料庫引擎
符號名稱
消息正文 合併程式無法列舉具有參數化數據列篩選之發行項中的變更。 如果這樣的失敗情況持續發生,請增加此程序的查詢超時時間,縮短發行集的保留時間,以及改善公開資料表上的索引。

說明

如果在處理篩選發行集中的變更時發生合併代理程式逾時,就會引發此錯誤。 逾時可能是下列其中一個問題所造成:

  • 不使用預先計算的分區優化。

  • 用於篩選的欄位索引碎片。

  • 大型合併元數據表,例如 MSmerge_tombstoneMSmerge_contentsMSmerge_genhistory

  • 未在唯一索引鍵上聯結的篩選數據表,以及牽涉到大量數據表的聯結篩選。

使用者動作

若要解決此問題:

  • 增加合併代理程式的 -QueryTimeOut 參數值,以便在解決造成錯誤的基礎問題時繼續處理。 可於代理程式設定檔和命令列中指定代理程式參數。 如需詳細資訊,請參閱:

  • 盡可能使用預先計算的數據分割優化。 如果符合若干發佈要求,預設會使用此優化。 如需這些需求的詳細資訊,請參閱 使用預先計算的數據分割優化參數化篩選效能。 如果發行集不符合這些需求,請考慮重新設計發行集。

  • 指定發行集保留期間可能的最低設定,因為複寫在達到保留期間之前,無法清除發行集和訂閱資料庫中的元數據。 如需詳細資訊,請參閱 Subscription Expiration and Deactivation

  • 在合併式復寫維護期間,偶爾會檢查與合併式複寫相關聯的系統數據表成長: MSmerge_contentsMSmerge_genhistoryMSmerge_tombstoneMSmerge_current_partition_mappingsMSmerge_past_partition_mappings。 定期重新編製這些數據表的索引。 如需詳細資訊,請參閱 重新組織與重建索引

  • 請確定用於篩選的數據行已正確編製索引,並在必要時重建這類索引。 如需詳細資訊,請參閱 重新組織與重建索引

  • 針對以唯一數據行為基礎的聯結篩選設定 join_unique_key 屬性。 如需詳細資訊,請參閱 聯結篩選

  • 限制聯結篩選階層中資料表的數量。 若您正在產生五個以上資料表的聯結篩選,請考慮其他方案:不要篩選小型、無法變更或主要為查詢資料表的資料表。 聯結過濾器只能用於必須在訂閱間分割的資料表之間。

  • 在同步處理之間對篩選數據表進行較少的變更,或更頻繁地執行合併代理程式。 如需設定同步處理排程的詳細資訊,請參閱 指定同步處理排程

另請參閱

錯誤與事件參考 (複寫)