KB4528067 – ÅTGÄRD: Fel 8959 kan uppstå på IAM-sidan när du frågar sys.dm_db_index_physical_stats mot partitionerad columnstore-tabell efter partitionsväxel i SQL Server

Gäller för
SQL 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

Symptom

Anta att du har en partitionerad tabell med grupperat columnstore-index (CCI) i Microsoft SQL Server. När du kör SELECT-instruktionen på DMV:n (Dynamic Management View sys.dm_db_index_physical_stats mot tabellen kan du få ett felmeddelande som liknar följande på sidan Indexallokeringskarta (IAM) efter partitionsbyte:

Felmeddelande 8959, nivå 16, status 1, radradnummer

* Tabellfel: IAM-sida(1:361) för objekt-ID ObjectID,index-ID IndexID, partitions-ID PartitionID, allokeringsenhets-ID UnitID (typ raddata) är länkat i IAM-kedjan för objekt-ID ObjectID,index-ID IndexID, partitions-ID PartitionID, allokeringsenhets-ID UnitID (typ raddata) efter sida (0:0).

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".

Lösning

Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:

Om kumulativa uppdateringar för SQL Server:

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

Mer information

Orsaken till problemet är att när du utför en partitionsväxling i Columnstore-tabellen och om det finns någon tombstone deltastore i källpartitionen växlas inte den här tombstone till målpartition, vilket orsakar IAM-matchningsfel. Du kan köra "sys.dm_db_column_store_row_group_physical_stats" för att få detaljerad status för radgrupper (inklusive tombstone) för Columnstore-indexet.

Lösning

Problemet skulle försvinna efter en tid när bakgrunden Tuple Mover förstörde tombstone deltastore.

Eller så kan du kringgå det här problemet genom att ta bort tombstone deltastore omedelbart för att undvika felet genom att köra "ALTER INDEX ... OMORGANISERA" en eller flera gånger.

Referenser

Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.