KB2490920 - 修正:當您在 SQL Server 2005 或 SQL Server 2008 中執行 ALTER PARTITION FUNCTION 陳述式來分割或合併磁碟分割範圍時,出現「Msg 2601, Level 14, State 1, Line 1 Cannot insert duplicate key row」錯誤

Applies To
Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Workgroup Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft 會以一個可下載的檔案形式發佈 Microsoft SQL Server 2005 或 Microsoft SQL Server 2008 修正程式。 由於修正程式是累積的,因此每個新版本都包含先前Microsoft 2005 或 Microsoft SQL Server 2008 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式SQL Server

症狀

請考慮以下案例:

  • 您在電腦上安裝 Microsoft SQL Server 2005 或 SQL 2008 的執行個體。
  • 您建立包含未對齊非叢集索引的分割資料表。
  • 您可以執行 ALTER PARTITION FUNCTION 陳述式來分割或合併分割資料表的分割範圍。

在此案例中,您會定期收到下列錯誤訊息:

注意

Msg 2601, Level 14, State 1, Line 1
無法在具有唯一索引 <uniqueindexname> 的物件 <objectname> 中插入重複的索引鍵列。

原因

發生此問題的原因是分割區範圍時查詢最佳化工具中觸發錯誤。

當執行階段計劃從受影響的分割區範圍刪除並將一些列插入新的分割區範圍時,會發生唯一索引鍵衝突。

解決方式

累積更新資訊

SQL Server 2005 Service Pack 3

此問題的修正程式最初在 SQL Server 2005 Service Pack 3 的累積更新 15 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2507766 SQL Server 2005 Service Pack 3 的累積更新套件 15 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前的 2005 SQL Server修正程式版本中包含的所有安全性修正程式。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

960598 發行 SQL Server 2005 Service Pack 3 之後所發行的 SQL Server 2005 組建Microsoft會為特定 SQL Server Service Pack 建立 SQL Server 2005 Hotfix。 您必須將 SQL Server 2005 Service Pack 3 Hotfix 套用至 SQL Server 2005 Service Pack 3 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2005 Service Pack 4

此問題的修正程式最初在 SQL Server 2005 Service Pack 4 的累積更新 2 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2489409 SQL Server 2005 Service Pack 4 累積更新套件 2 注意 由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有隨附於先前 SQL Server 2005 修正程式版本的安全性修正程式。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2485757 SQL Server 2005 Service Pack 4 發行之後所發行的 SQL Server 2005 組建Microsoft是為特定 SQL Server Service Pack 建立 SQL Server 2005 Hotfix。 您必須將 SQL Server 2005 Service Pack 4 Hotfix 套用至 SQL Server 2005 Service Pack 4 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 Service Pack 1

此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 13 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2497673 SQL Server 2008 Service Pack 1 的累積更新套件 13 注意: 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,來自先前的 SQL Server 2008 修正程式版本。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 Service Pack 2

此問題的修正程式最初已發行在 SQL Server 2008 Service Pack 2 的累積更新 3 中。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2498535 累積更新套件 3 for SQL Server 2008 Service Pack 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,來自上一個 SQL Server 2008 修正程式版本。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 SQL Server 2008 Service Pack 2 發行之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 2 Hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

如需有關 Transact-SQL ALTER PARTITION 函數 陳述式的詳細資訊,請造訪下列 MSDN 網站:

關於 Transact-SQL ALTER PARTITION FUNCTION 陳述式的一般資訊如需有關分割索引的特殊指導方針的詳細資訊,請造訪下列 MSDN 網站:

分割索引的特殊指導方針如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:

824684 描述Microsoft軟體更新所使用的標準術語說明