Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.