Symptômes
Supposons que vous disposez d’une base de données compatible FILESTREAM dans un instance de Microsoft SQL Server. Lorsque vous démarrez une transaction et utilisez l’API .NET SqlFileStream pour ouvrir un fichier Filestream, la tâche peut échouer et lever une exception en raison de facteurs externes.
Si vous ouvrez à nouveau le fichier à l’aide de SqlFileStream dans la même transaction et la même validation, vous pouvez recevoir des messages d’erreur internes qui ressemblent aux suivants :
Remarque
date time, spids, Unknown, Error : 5571<c/> Severity : 23<c/> State : 3.
date time, spids, Unknown, Internal FILESTREAM error : échec de l’accès à la table garbage collection.
Si vous exécutez dbcc checktable ('sys.filestream_tombstone_2073058421'), le message d’erreur suivant peut s’afficher :
Remarque
Msg 8951, Niveau 16, État 1, Line LineNumber
Erreur de table : table dbcc checktable (« sys.filestream_tombstone_2073058421 ») (ID ID IDNumber). La ligne de données n’a pas de ligne d’index correspondante dans l’index « FSTSNCIdx » (IDIDNumber). Clés manquantes ou non valides possibles pour la correspondance de ligne d’index :
Résolution
Le correctif de ce problème est inclus dans les mises à jour suivantes pour SQL Server :
Mise à jour cumulative 13 pour SQL Server 2017
Mise à jour cumulative 1 pour SQL Server Service Pack 3 2014
Mise à jour cumulative 15 pour SQL Server Service Pack 2 2014
À propos des builds SQL Server
Chaque nouvelle build pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité qui se trouvaient dans la build précédente. Nous vous recommandons d’installer la version la plus récente pour votre version de SQL Server :
versions de build SQL Server 2014
Solution de contournement
Pour contourner ce problème, régénérez l’index de base de données à l’aide de la commande DBCC CHECKTABLE .
É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
Découvrez la terminologie standard utilisée par Microsoft pour décrire les mises à jour logicielles.