Simptomai
Tarkime, kad "Microsoft SQL Server" egzemplioriuje yra "FILESTREAM" įgalinta duomenų bazė. Kai paleidžiate operaciją ir naudojate SqlFileStream .NET API, kad atidarytumėte FILESTREAM failą, užduotis gali nepavykti ir mesti išimtį dėl išorinių veiksnių.
Jei atidarote failą dar kartą naudodami SqlFileStream tame pačiame transakcijoje ir įsipareigojate, galite gauti vidinius klaidų pranešimą, panašius į šiuos:
datos laikas, Spids, nežinoma, klaida: 5571<c/> sunkumas: 23<c/> būsena: 3.datos laikas, Spids, nežinoma, vidinė FILESTREAM klaida: nepavyko prieiti prie šiukšlių rinkinio lentelės.
Jei vykdote DBCC CHECKTABLE ("sys.filestream_tombstone_2073058421"), galite gauti šį klaidos pranešimą:
MSG 8951, lygis 16, 1 valstybė, eilutės LineNumber
Lentelės klaida: lentelė DBCC CHECKTABLE ("sys.filestream_tombstone_2073058421") (ID idnumber). Duomenų eilutėje nėra atitikimo indekso eilutės indekse ' fstsncidx ' (IDidnumber). Galimi trūkstami arba neteisingi indekso eilučių atitikimo raktai:
Sprendimas
Šios problemos pataisa yra įtraukta į šiuos SQL serverio naujinimus:
Kaupiamasis naujinimas 13 SQL serverio 2017
Kaupiamasis naujinimas 1 SQL serverio 2014 3 pakeitimų paketui
Kaupiamasis naujinimas 15 SQL serverio 2014 2 pakeitimų paketas
Apie "SQL Server" komponavimo versijas
Kiekvienoje naujoje "SQL Server" versijoje yra visos karštosios pataisos ir saugos pataisos, kurios buvo ankstesniame komponavimo versijoje. Rekomenduojame įdiegti naujausią "SQL Server" versijos komponavimo versiją:
Sprendimas
Norėdami išspręsti šią problemą, atkurkite duomenų bazės indeksą naudodami komandą DBCC CHECKTABLE .
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.
Nuorodos
Sužinokite apie standartinę terminologiją "Microsoft" naudoja programinės įrangos naujinimams apibūdinti.