您目前已離線,請等候您的網際網路重新連線

「 找不到的識別範圍配置項目為訂閱者 」 的錯誤當您將發行項加入 SQL Server 合併式發行集

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:2832689
徵狀
當您新增發行項在 Microsoft SQL Server 合併式發行集時,您會收到下列錯誤訊息:

時間戳記> 類別: SQLSERVER
來源:<Publisher></Publisher>
編號: 20671
訊息: 無法找到 MSmerge_identity_range 資料表中的識別範圍配置項目 「 訂閱者 」。重新初始化訂閱。

如果下列情況皆成立,就會發生這個問題:
  • 合併式發行集位於下列版本的 SQL Server 其中一項:
    • Microsoft SQL Server 2005
    • Microsoft SQL Server 2008
    • Microsoft SQL Server 2008 R2
    • Microsoft SQL Server 2012
  • 合併式發行集包含已啟用的識別範圍管理的發行項。
  • 已啟用的識別範圍管理的所有發行項有@subscriber_upload_options = 2 定義。
  • 訂閱都有 @subscriber_type = N'Local' 定義。
  • 正在加入發行項有 @subscriber_upload_options = 0 定義。
解決方案
若要解決這個問題,請重新初始化 「 訂閱者 」。

附註若要完整地避免這個問題,第一次初始化訂閱前,設定已啟用,識別範圍管理的至少包含一個發行項,然後將 [上傳] 選項設定成@subscriber_upload_options = 0
發生的原因
「 合併代理程式 」 會認為空的 MSmerge_identity_range 資料表的相關資訊已損毀,就會發生這個問題。因此,SQL Server 會要求重新初始化。

初始化 「 訂閱者 」 時,在 MSmerge_identity_range 資料表會建立 「 訂閱者 」 中。不過,沒有資料會填入因為所有的文件含有@subscriber_upload_options = 2定義。因此,不會變更預期會發生 「 訂閱者 」。當您新增發行項時,「 合併代理程式 」 會檢查訂閱者 」 的 MSmerge_identity_range 資料表,才能設定新的發行項的範圍。
其他相關資訊
  • 如需相關資訊 subscriber_upload_options 引數,請參閱sp_addmergearticle (考慮改用 SQL).
    • [ @subscriber_upload_options = 2定義表示變更不會啟用 「 訂閱者 」。
    • [ @subscriber_upload_options = 0定義時,即表示沒有限制。「 訂閱者 」 所做的變更會上載到 「 發行者 」。
  • 如需相關資訊 subscriber_type 引數,請參閱 sp_addmergepullsubscription (考慮改用 SQL).

狀況說明
Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

警告:本文為自動翻譯

內容

文章識別碼:2832689 - 最後檢閱時間:04/29/2013 21:57:00 - 修訂: 1.0

Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2012 Enterprise

  • kbsql2005repl kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2832689 KbMtzh
意見反應
76500"; var Ctrl = ""; document.write("