Symptômes
Supposons que vous ayez une instruction UPDATE qui fait référence à une fonction de partition inexistante à l’aide de l’mot clé $PARTITION dans Microsoft SQL Server 2014, 2016 ou 2017. Par exemple,
Remarque
UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1
Dans ce cas, SQL Server n’effectue pas de mise à jour ou ne retourne pas de message d’erreur pour indiquer que l’objet NonExistingPartitionFunction n’existe pas. Toutefois, du point de vue de l’utilisateur, il semble que l’instruction UPDATE soit exécutée avec succès, mais qu’en réalité elle a échoué.
Cause
Lorsque vous exécutez un lot, SQL Server peut effectuer la résolution de noms différée (DNR). Dans ce processus, SQL Server ne génère pas immédiatement d’erreur lorsqu’il rencontre un objet inexistant, et il s’attend à ce que l’objet soit créé par le module ou le lot avant l’exécution de l’instruction qui fait référence à cet objet. Pour les fonctions de partition, SQL Server ne gère pas correctement la DNR.
Informations supplémentaires
Pour plus d’informations sur DNR, consultez Résolution de noms différée.
Résolution
Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 8 pour SQL Server 2016 SP1
Mise à jour cumulative 4 pour SQL Server 2017
Mise à jour cumulative 9 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 2017
Dernière mise à jour cumulative pour SQL Server 2014
É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.