Symptômes
Prenons l’exemple du scénario suivant :
-
Vous avez une table FileStream de très grande taille.
-
Vous exécutez une requête Suppression de lignes dans la table FileStream qui crée un plan de requête coûteux, par exemple, filtré par une jointure interne vers une autre table de grande taille dans le système.
-
L’optimiseur de requête sélectionne un plan d’exécution parallèle.
Dans ce scénario, unssertion se produira et des messages d’erreur similaires à ce qui suit dans le journal des erreurs SQL Server peuvent s’afficher :
Erreur SpidNumberspid SPID : 5553, gravité : 20, État : 6.
DateHeure SPID SpidNumber erreur interne à SQL Server. Le gestionnaire FILESTREAM ne peut pas continuer avec la commande actuelle.
Statut
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 a été résolu dans les mises à jour cumulatives de SQL Server suivantes :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative de SQL Server contient toutes les HotFix et tous les correctifs de sécurité inclus dans le précédent mise à jour cumulative. Consultez les dernières mises à jour cumulatives pour SQL Server :
Solution de contournement
To contourner ce problème,l’unité d’organisation y peut utiliser la méthode suivante :
Déplacez la requête INNER JOIN vers une instruction séparée, puis enregistrez les résultats dans une table temporaire. Ensuite, exécutez la requête Suppression filtrée par les entrées de la table temporaire. De plus, vous pouvez augmenter le seuil des coûts pour le parallélisme pour obliger l’optimiseur à sérialiser le plan de requête.
Par exemple :
Sélectionnez RefTable. alias dans #T à partir de DB. dbo. OuterTable INNER JOIN DB. dbo. RefTable dans RefTable. alias = OuterTable. alias
OÙ OuterTable. alias > 30006 et OuterTable. alias < 30010
SUPPRIMER de DB. dbo. Tabulaire OÙ alias dans (SELECT * FROM #T)
Références
En savoir plus sur la terminologie Microsoft utilise pour décrire les mises à jour logicielles.