Symptomen
Indirecte controlepunten zijn standaard ingeschakeld voor de tempdb-database in Microsoft SQL Server 2016 en 2017. Onder omstandigheden met een zware werkbelasting kan er een fout 'Niet-opleverende scheduler' optreden en de sys.dm_os_spinlock_stats DMV toont verhoogde spinlockconflicten voor het DP_LIST spinlocktype.
Oplossing
Deze oplossing is opgenomen in 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
Over SQL Server builds
Elke nieuwe build voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige build. U wordt aangeraden de meest recente cumulatieve updates voor SQL Server te installeren:
Servicepacks zijn cumulatief. Elk nieuw servicepack bevat alle correcties uit eerdere servicepacks, samen met eventuele nieuwe oplossingen. We raden u aan het meest recente servicepack en de meest recente cumulatieve update voor dat servicepack toe te passen. U hoeft geen eerder servicepack te installeren voordat u het meest recente 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 bijbehorende onderdelen bepalen
Tijdelijke oplossing
U kunt dit probleem omzeilen door indirecte controlepunten voor de tempdb-database uit te schakelen met behulp van een van de volgende DDL-instructies (Data Definition Language).
Dit moet als volgt gebeuren:
-
Voer op de modeldb-database (hiermee wordt ook de standaardwaarde voor nieuwe databases) de volgende instructie uit:
ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
Of rechtstreeks in de tempdb-database 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 -
U kunt ook periodiek handmatige controlepunten uitgeven voor de tempdb-database met behulp van de volgende instructie:
use tempdb
go checkpoint
go
Bovendien kan TF 3468 worden gebruikt om indirect controlepunt 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: