KB3191487 – verbesserte SQL Server-Stabilität und gleichzeitige Abfrageausführung für einige columnstore-Abfragen in SQL Server 2014 und 2016

Arbeiten Sie überall, von jedem beliebigen Gerät, mit Microsoft 365

Führen Sie ein Upgrade auf Microsoft 365 durch, um überall mit den neuesten Funktionen und Updates zu arbeiten.

Upgrade jetzt ausführen

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie verfügen über eine Tabelle mit gruppierten columnstore-Indizes, und die Tabelle enthält viele Spalten (in Hunderten).

  • Bei den Daten (dem Datentyp) dieser Spalten handelt es sich um stark komprimierbare Daten wie varchar.

  • Sie führen eine Select -Anweisung für diese Tabelle aus, um eine große Teilmenge oder alle Spalten aus dieser Tabelle auszuwählen.

  • Ihre Select -Anweisung weist eine Where -Klausel auf, die die Ausgabe der Datei auf sehr wenige Zeilen beschränkt (die Abfrage ist äußerst selektiv).

In diesem Szenario können alle oder alle folgenden Symptome auftreten:

  • Die gleichzeitige Arbeitsauslastung (andere Abfragen, die zur gleichen Zeit auf dem Server ausgeführt werden, wie diese Abfrage), kann zu einer Verringerung der Leistung und zum Verlust des Datendurchsatz führen.

  • Möglicherweise wird eine zeitweise höhere CPU-Auslastung angezeigt.

  • Wenn Sie sys.dm_os_ring_buffers -und SchedulerMonitor -Typ-Einträge Abfragen, finden Sie Unterbrechungen, die während der Ausführung dieser Abfrage protokolliert werden.

  • Möglicherweise erhalten Sie im Fehlerprotokoll einen Fehler beim Scheduler, und es wird möglicherweise eine Symptom Speicherabbilddatei generiert.

Lösung

Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Wir empfehlen, die neuesten kumulativen Updates für SQL Server herunterzuladen und zu installieren:

Weitere Informationen

Details behebenDie Worker, die die spaltensegmente verarbeiten (Dekomprimieren und für qualifizierende Zeilen durchsuchen), werden verwendet, um die CPU-Auslastung für andere Arbeitskräfte/gleichzeitige Abfrageausführungen zu "erbringen", wenn eine bestimmte Schwellenwert Anzahl von Zeilen ausgegeben wurde. Wenn die Where -Klausel sehr selektiv war, um wenige Zeilen zu produzieren, haben die Worker, die diese Abfrage verarbeitet haben, eine dekomprimierte und eine große Anzahl von Segmenten verarbeitet (weil nur sehr wenige Zeilen qualifizieren), bevor Sie die CPU in kooperativer Weise aufgeben, damit andere Mitarbeiter ihre Arbeitsauslastung verarbeiten können. Dies führte zu einer unregelmäßigen CPU-Auslastung und zu einem Durchsatz Abbau für gleichzeitige Arbeitslasten. Der Fix optimiert und verbessert den CPU-Freigabe Algorithmus für solche columnstore-Abfragen.

Informationsquellen

Erfahren Sie mehr über die Terminologie , mit der Microsoft Softwareupdates beschreibt.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×