文章編號: 971970 - 上次校閱: 2009年7月14日 - 版次: 1.0

FIX: 您不能插入列或之後執行 「 sp_changemergearticle 」 儲存程序或另一篇文章有 IDENTITY 資料行時,新增新的合併發行集發行項上載到 SQL Server 2005 的精簡版的訂閱者資料表的變更

可以下載 Hotfix下載 Hotfix
檢視和要求下載 hotfix
系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

考慮下列案例:
  • 在 SQL Server 中建立合併式發行集。
  • 您新增資料表發行項具有 IDENTITY 資料行到發行集。
  • 您可以將參數化的資料列篩選條件新增到發行項。
  • 您建立 SQL Server 2005 的精簡版訂閱發行集。
  • 同步處理訂閱]。
然後您執行下列作業之一:
  • 在發行者您執行 sp_changemergearticle 預存程序變更發行項的下列屬性之一:
    • processing_order
    • delete_tracking
    • partition_options
  • 您可將新的發行項新增到發行集,然後啟動 「 快照集代理程式 」。
您嘗試在訂閱者] 資料表中插入資料列時,同步處理訂閱後您會遇到下列問題之一:
  • 如果有值為 1IDENTITY 資料行的資料表中有一筆資料錄,您會收到下列的錯誤訊息::
    主要錯誤 0x80040E2F 次要錯誤 25016
    ><Insert Statement>
    重複的值無法插入到唯一的索引。[資料表名稱 = <TableName>,條件約束名稱 = <ConstraintName> ]
  • 如果資料表中的資料錄具有為 1IDENTITY 資料行的值,您可以成功地將資料列插入訂閱者資料表中。但是,您進行同步處理訂閱要將變更上載到發行者時您會收到下列錯誤訊息:
    訂閱者資料列無法套用在發行者端。檢閱錯誤參數和衝突記錄資料表,在發行者,以判定錯誤發生原因之資料列無法套用。[資料表名稱 = <TableName>,資料列 GUID = <GUID> ]
    HRESULT 0x80004005 (28802)

發生的原因

您執行下列作業之一後,reseeded 在訂閱者資料表 1 的值,就會發生這個問題:
  • 在發行者您執行 sp_changemergearticle 預存程序變更發行項的下列屬性之一:
    • processing_order
    • delete_tracking
    • partition_options
  • 您可將新的發行項新增到發行集,然後啟動 「 快照集代理程式 」。
AUTOINC_SEED 資料行的值表示 IDENTITY 資料行的種子。若要檢查 IDENTITY 資料行的種子,您以下的陳述式對資料表執行在訂閱者端:
SELECT AUTOINC_MIN, AUTOINC_MAX, AUTOINC_NEXT, AUTOINC_INCREMENT, AUTOINC_SEED
FROM INFORMATION_SCHEMA.COLUMNS
WHERE AUTOINC_MIN IS NOT NULL

解決方案

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果沒有出現此區段,將要求提交到 Microsoft 客戶服務及支援],以取得該 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

必要條件

安裝這個 Hotfix 沒有先決條件。

重新啟動需求

您沒有套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代先前發行的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。
所有支援 ARMV4i 架構版本的 Windows CE 5.0
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間
Sqlce30.dev.enu.wce5.armv4i.cab不適用324,83416-Jun-200912: 50
Sqlce30.repl.wce5.armv4i.cab不適用758,30616-Jun-200912: 50
Sqlce30.wce5.armv4i.cab不適用1,622,65416-Jun-200912: 50
所有支援的 ARMV4 架構版本的 Windows CE 4.0 Pocket PC 裝置
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間
Sqlce30.dev.enu.ppc.wce4.armv4.cab不適用320,23416-Jun-200912: 29
Sqlce30.ppc.wce4.armv4.cab不適用1,580,66216-Jun-200912: 29
Sqlce30.repl.ppc.wce4.armv4.cab不適用736,26616-Jun-200912: 29
所有支援 x 的 SQL Server 2005 的精簡版的 x86 版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間
Eula_en.rtf不適用114,90003-Jun-200910: 55
Sqlceca30.dll3.0.5300.14293,76015-Jun-200922: 55
Sqlcecompact30.dll3.0.5300.1459,28015-Jun-200922: 55
Sqlceer30en.dll3.0.5300.14136,09615-Jun-200922: 57
Sqlceme30.dll3.0.5300.1451,07215-Jun-200922: 55
Sqlceoledb30.dll3.0.5300.14139,13615-Jun-200922: 55
Sqlceqp30.dll3.0.5300.14532,35215-Jun-200922: 55
Sqlcese30.dll3.0.5300.14290,68815-Jun-200922: 55
System.Data.sqlserverce.dll3.0.5300.14235,40815-Jun-200921: 13

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Compact Edition
關鍵字:?
kbmt kbsurveynew kbhotfixserver kbautohotfix kbexpertiseadvanced kbqfe kbfix KB971970 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:971970? (http://support.microsoft.com/kb/971970/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。