Problembeschreibung
Standardmäßig sind indirekte Prüfpunkte für die tempdb-Datenbank in Microsoft SQL Server 2016 und 2017 aktiviert. Unter Bedingungen mit hoher Arbeitsauslastung kann ein Fehler "Nicht ertragender Planer" auftreten, und die sys.dm_os_spinlock_stats DMV zeigt einen erhöhten Spinlockkonflikt für den DP_LIST Spinlocktyp an.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
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 alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Problemumgehung
Um dieses Problem zu umgehen, deaktivieren Sie indirekte Prüfpunkte in der tempdb-Datenbank mithilfe einer der folgenden DDL-Anweisungen (Data Definition Language).
Dies sollte wie folgt erfolgen:
-
Führen Sie in der modeldb-Datenbank (dadurch wird auch der Standardwert für neue Datenbanken geändert) die folgende Anweisung aus:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Oder direkt in der tempdb-Datenbank bei jedem Start der Instanz mithilfe der SQL Server-Agent mithilfe der folgenden Anweisung:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Sie können auch regelmäßig manuelle Prüfpunkte für die tempdb-Datenbank mithilfe der folgenden Anweisung ausgeben:
use tempdb
go checkpoint
go
Darüber hinaus kann TF 3468 verwendet werden, um den indirekten Prüfpunkt in tempdb zu deaktivieren.
Informationsquellen
Erfahren Sie mehr über die Terminologie, die Microsoft verwendet, um Softwareupdates zu beschreiben. Weitere Informationen finden Sie in den folgenden Artikeln: