KB4057280 – KORREKTUR: Hohe CPU-Auslastung, wenn ein großer Index in einer Abfrage für eine speicheroptimierte Tabelle in SQL Server

Gilt für
SQL Server 2016 Service Pack 1 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 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL 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)

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie verwenden In-Memory Online Transaction Processing (OLTP) in Microsoft SQL Server 2017, 2016 und 2014.
  • Sie führen eine Abfrage für eine speicheroptimierte Tabelle aus, die einen großen Index enthält.

Wenn Sie in diesem Szenario den großen Index während der Abfrageausführung verwenden, kann die CPU-Auslastung sehr schnell auf 100 Prozent ansteigen. Wenn Sie über mehrere logische Prozessoren verfügen, kann nur einer der Prozessoren schnell zu 100 Prozent genutzt werden.

Ursache

Dieses Problem tritt auf, weil die Garbage Collection in In-Memory-OLTP lange dauern kann, wenn ein großer Index bei einer Abfrageausführung verwendet wird.

Lösung

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

Kumulatives Update 4 für SQL Server 2017

Kumulatives Update 7 für SQL Server 2016 SP1

Kumulatives Update 2 für SQL Server 2014 SP3

Hinweis Nach der Installation dieses Updates müssen Sie das Ablaufverfolgungsflag (TF) 9945 aktivieren, um dieses Problem zu beheben. Informationen zum Aktivieren von TF 9945 finden Sie im Thema Ablaufverfolgungsflags (Transact-SQL) im MSDN (MSDN).

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:

Neuestes kumulative Update für SQL Server 2017

Neuestes kumulatives Update für SQL Server 2016

Neuestes kumulatives Update für SQL Server 2014

Status

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

Referenzmaterial

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