KB4469722 - CORRECTIF : messages d’erreur internes lorsque vous mettez à jour une table système tombstone FILESTREAM dans SQL Server

S’applique à
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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 SQL Server 2017

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.