Symptomen
Standaard zijn indirecte controlepunten ingeschakeld voor de tempdb-database in Microsoft SQL Server 2016 en 2017. Bij zware werkbelasting kan de foutmelding 'Non-yielding scheduler' optreden en de sys.dm_os_spinlock_stats DMV geeft verhoogde spinlockinhoud weer voor het type DP_LIST spinlock.
Oplossing
Deze oplossing maakt deel uit van de volgende updates en servicepack:
-
Cumulatieve update 5 voor SQL Server 2016 Service Pack 1
-
Cumulatieve update 8 voor SQL Server 2016
Informatie over servicepacks voor SQL Server 2016
Sql Server-builds
Elke nieuwe build voor SQL Server bevat alle hotfixes en beveiligingsfixes uit de vorige build. U wordt aangeraden de meest recente cumulatieve updates voor SQL Server te installeren:
Servicepacks voor SQL Server:
Servicepacks zijn cumulatief. Elk nieuw servicepack bevat alle oplossingen uit eerdere servicepacks, samen met eventuele nieuwe fixes. Het is aan teraden om het nieuwste servicepack en de nieuwste cumulatieve update voor dat servicepack toe te passen. U hoeft geen eerder servicepack te installeren voordat u het nieuwste servicepack installeert. Gebruik tabel 1 in het volgende artikel voor meer informatie over het nieuwste servicepack en de meest recente cumulatieve update.
Het versie-, editie- en updateniveau van SQL Server en de onderdelen bepalen
Workaround
U kunt dit probleem tijdelijk oplossen door indirecte controlepunten in de tempdb-database uit te schakelen met behulp van een van de volgende DDL-instructies (Data Definition Language).
U moet dit als volgt doen:
-
Voer in de modeldb-database (hiermee wordt ook de standaardwaarde voor nieuwe databases gewijzigd) de volgende instructie uit:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
U kunt ook rechtstreeks in de tempdb-database worden opgenomen telkens wanneer het exemplaar wordt gestart met behulp van de SQL Server-agent met behulp van de volgende instructie:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Of door regelmatig handmatige controlepunten voor de tempdb-database uit teuse tempdb
go checkpoint
go
Daarnaast kan TF 3468 worden gebruikt om indirecte controlepunten op tempdb uit te schakelen.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven. Zie de volgende artikelen voor meer informatie: