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.