KB4528067 – FIX: Auf der IAM-Seite kann Fehler 8959 auftreten, wenn Sie nach dem Partitionswechsel in SQL Server sys.dm_db_index_physical_stats einer partitionierten Columnstore-Tabelle abfragen

Gilt 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

Symptome

Angenommen, Sie verfügen über eine partitionierte Tabelle mit gruppiertem Columnstore-Index (CCI) in Microsoft SQL Server. Wenn Sie die SELECT-Anweisung in der dynamischen Verwaltungsansicht (Dynamic Management View, DMV) für die Tabelle ausführen sys.dm_db_index_physical_stats erhalten Sie nach dem Partitionswechsel auf der IAM-Seite (Index Allocation Map) möglicherweise eine Fehlermeldung, die der folgenden ähnelt:

Fehlermeldung 8959, Ebene 16, Status 1, Zeilenliniennummer

* Tabellenfehler: IAM-Seite (1:361) für Objekt-ID ObjectID, Index-ID IndexID, Partitions-ID PartitionID, Zuordnungseinheits-ID UnitID (Typ Zeilenbezogene Daten) wird in der IAM-Kette für Objekt-ID ObjectID, Index-ID IndexID, Partitions-ID PartitionID, Zuordnungseinheits-ID UnitID UnitID (Typ Zeilendaten) nach Seite (0:0) verknüpft.

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Lösung

Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:

Informationen zu kumulativen Updates für SQL Server:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Weitere Informationen

Die Ursache des Problems besteht darin, dass, wenn Sie einen Partitionswechsel der Columnstore-Tabelle durchführen und ein Tombstone-Deltastore in der Quellpartition vorhanden ist, dieser Tombstone nicht auf die Zielpartition umgeschaltet wird, was zu einem IAM-Seitenkonfliktfehler führt. Sie können "sys.dm_db_column_store_row_group_physical_stats" ausführen, um die detaillierten Zeilengruppen status (einschließlich Tombstone) über den Columnstore-Index zu kennen.

Problemumgehung

Das Problem verschwand nach einiger Zeit, als der Tuple Mover im Hintergrund den Tombstone-Deltastore zerstörte.

Um dieses Problem zu umgehen, können Sie diesen Tombstone-Deltastore sofort entfernen, um den Fehler zu vermeiden, indem Sie "ALTER INDEX ... REORGANISIEREN" ein- oder mehrmals ein.

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.