Symptômes
Lorsque vous effectuez les opérations DDL telles que Create index ou truncate table dans SQL Server 2016, les opérations peuvent être bloquées si une autre transaction DDL est en cours d’exécution sur la même base de données.
Résolution
Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Nous vous recommandons de télécharger et d’installer les dernières mises à jour cumulatives pour SQL Server :
Informations supplémentaires
Lorsqu’un fichier DDL crée ou supprime une table ou un index, il doit insérer ou supprimer l’ID de jeu de la table ou de l’index de sysrowsets, pour lequel il doit contenir un verrou de niveau ligne X sur l’entrée. Lorsque cette opération est réalisée à l’intérieur d’une transaction, le verrou X est conservé pendant la durée de la transaction. Lorsque le Data Mover a détecté des mémoires tampons de suppression vidées, il doit itérer sur sysrowsets pour découvrir des tables ou index existants. Pour lire chaque ligne à partir de sysrowsets , il doit contenir un verrou de niveau ligne sur l’entrée lue actuellement. Le processus de découverte s’arrête lorsque le Data Mover trouve le premier jeu de lignes sur lequel il peut travailler. À ce stade, le vidage de tuple entraîne le vidage du tampon de suppression, mais afin de s’assurer que l’ensemble de lignes détecté reste valide, il contient un verrou SCH-S sur tous les ensembles de lignes qu’il a évalués lors du processus de découverte jusqu’à ce qu’il finisse son fonctionnement.Sysrowsets est commandé par l’ID de jeu de lignes, il peut se produire si le Data Mover a numérisé plusieurs ensembles de lignes existants sur lesquels il n’est pas en mesure de procéder, tout en conservant le verrou SCH-s et qu’il arrive à une entrée dans sysrowsets pour lequel il ne parvient pas à acquérir le verrou au niveau de la ligne. À ce stade, DDLs est associé à une modification d’ID de jeu de lignes.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Apprenez-en davantage sur la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.