Symptômes
Par défaut, les points de contrôle indirects sont activés pour la base de données tempdb dans Microsoft SQL Server 2016 et 2017. Dans des conditions de charge de travail lourdes, une erreur « Planificateur ne produisant pas » peut se produire et la vue de gestion dynamique sys.dm_os_spinlock_stats affiche une contention de spinlock élevée pour le type DP_LIST spinlock.
État
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Résolution
Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Solution de contournement
Pour contourner ce problème, désactivez les points de contrôle indirects sur la base de données tempdb à l’aide de l’une des instructions DDL (Data Definition Language) suivantes.
Pour ce faire, procédez comme suit :
-
Sur la base de données modeldb (cela modifie également la valeur par défaut des nouvelles bases de données), exécutez l’instruction suivante :ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES
-
Ou, directement sur la base de données tempdb chaque fois que l’instance démarre à l’aide de la SQL Server Agent à l’aide de l’instruction suivante : ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES
-
Vous pouvez également émettre régulièrement des points de contrôle manuels sur la base de données tempdb à l’aide de l’instruction suivante :use tempdbgo checkpointgo En outre, TF 3468 peut être utilisé pour désactiver le point de contrôle indirect sur tempdb.
Références
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles. Pour obtenir plus d'informations, consultez les articles suivants :