KB2952101 – FIX: Schlechte Kardinalitätsschätzung, wenn die aufsteigende Schlüsselspalte in SQL Server

Gilt für
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptome

Angenommen, Sie versuchen, Werte in die Führende Indexspalte in Microsoft SQL Server 2012 oder SQL Server 2014 einzufügen. Wenn weniger als 90 Prozent der eingefügten Zeilen Werte aufweisen, die über dem höchsten RANGE_HI_KEY Wert im Histogramm liegen, wird die Spalte als stationär statt als aufsteigend betrachtet. Daher wird der aufsteigende Schlüssel nicht erkannt, und die Ablaufverfolgungsflags 2389 und 2390, die normalerweise zum Beheben des Problems mit aufsteigenden Schlüsseln verwendet werden, funktionieren nicht. Dies führt zu einer schlechten Kardinalitätsschätzung, wenn Sie Prädikate verwenden, die über den RANGE_HI_KEY Wert der vorhandenen Statistiken hinausgehen.

Hinweis Wenn Sie dieses kumulative Update anwenden, sollten Sie das Ablaufverfolgungsflag 4139 aktivieren. Dies bewirkt, dass SQL Server das Histogramm im beschriebenen Szenario unabhängig von der führenden Spalte status (aufsteigend, absteigend oder stationär) immer ändern.

Lösung

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

Kumulatives Update 1 für SQL Server 2012 SP2
        
         Kumulatives Update 2 für SQL Server 2014
        
         Kumulatives Update 10 für SQL Server 2012 SP1

Informationen zu kumulativen Updates für SQL Server

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

      

Status

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