Symptômes
Supposons que vous ayez une table partitionnée contenant une colonne de partitionnement calculée marquée comme PERSISTED dans Microsoft SQL Server 2014 ou 2016, puis que vous reconstruisez la partition en ligne. Dans ce cas, le message d’erreur ci-dessous s’affiche :
Remarque
Msg 4819, Niveau 16, État 1, Ligne LineNumber
Impossible de charger en bloc. Le flux de données en bloc a été spécifié de manière incorrecte comme trié ou les données ne respectent pas une contrainte d’unicité imposée par la table cible. Ordre de tri incorrect pour les deux lignes suivantes : clé primaire de la première ligne : (RowNumber, DateTime), clé primaire de la deuxième ligne : (RowNumber, DateTime).
La déclaration a été interrompue.
Résolution
Pour activer ce correctif logiciel, vous devez activer l’indicateur de trace (TF) 176. Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 7 pour SQL Server 2016 SP1
Mise à jour cumulative 4 pour SQL Server 2016
Mise à jour cumulative 6 pour SQL Server 2014 SP2
À 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. Consultez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2016
Dernière mise à jour cumulative pour SQL Server 2014
Solution de contournement
Pour contourner ce problème, utilisez SORT_IN_TEMPDB=ON dans la requête de reconstruction.
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.