Applies ToSQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Windows SQL Server 2019 on Windows

徵狀

假設您在 Microsoft SQL Server 中有一個含有聚集列存儲索引(CCI)的已分區資料表。 當您在動態管理檢視(DMV)上執行 SELECT 語句時sys.dm_db_index_physical_stats 針對該表,您可能會在分區切換之後,收到類似下列的錯誤訊息: [索引分派對應圖(IAM)] 頁面。

錯誤訊息8959、Level 16、State 1、Line LineNumber

資料表錯誤: 物件識別碼objectid的 iam 頁(1:361): [索引識別碼IndexID]、[分區識別碼] PartitionID、[配置單位 ID UnitID (類型內列資料)] 是在物件識別碼ObjectID、index id IndexID、分區 id PartitionID、配置單位 id UnitID (依資料行資料)頁面(0:0)的 iam 階層中連結。

狀態

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

解決方案

此問題已在 SQL Server 的下列累積更新中修正:

關於 SQL Server 的累積更新:

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

其他相關資訊

問題的起因是當您執行 [列中] 資料表以及任何 tombstone deltastore 的分區切換 在源分區中存在,則不會將此邏輯刪除切換成目標。 導致 IAM 頁面不匹配錯誤的分區。 您可以執行「sys.dm_db_column_store_row_group_physical_stats」 若要瞭解詳細資料列群組的狀態(包括邏輯刪除),請參閱 列存儲索引。

因應措施

此問題會在背景出現一段時間後消失 元組移動器銷毀了邏輯刪除 deltastore。

或者,若要解決此問題,您可以移除 若要避免發生錯誤,請執行 [ALTER INDEX ...]。一次或多次重新組織。

參考

瞭解Microsoft 用於描述軟體更新的詞彙

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。