Simptome
Să presupunem că aveți o bază de date cu FILESTREAM activat într-o instanță a Microsoft SQL Server. Atunci când porniți o tranzacție și utilizați SqlFileStream .NET API pentru a deschide un fișier FILESTREAM, este posibil ca activitatea să nu reușească și să arunce o excepție din cauza factorilor externi.
Dacă deschideți din nou fișierul utilizând SqlFileStream în cadrul aceleiași tranzacții și vă hotărâți, este posibil să primiți mesaje de eroare interne care seamănă cu următoarele:
datăde timp, Spids, necunoscut, eroare: 5571<c/> severitate: 23<c/> stare: 3.ora datei, Spids, necunoscut, eroare FILESTREAM internă: nu a reușit să acceseze tabelul colecție de deșeuri.
Dacă rulează DBCC CHECKTABLE (' sys.filestream_tombstone_2073058421 '), este posibil să primiți următorul mesaj de eroare:
MSG 8951, nivel 16, stat 1, linie LineNumber
Eroare tabel: Tabelul DBCC CHECKTABLE (' sys.filestream_tombstone_2073058421 ') (ID IDNumber). Rând de date nu are un rând de index corespondent în indexul ' FSTSNCIdx ' (ID IDNumber). Posibile chei lipsă sau nevalide pentru potrivirea rândului index:
Rezolvare
Remedierea pentru această problemă este inclusă în următoarele actualizări pentru SQL Server:
Actualizarea cumulativă 13 pentru SQL Server 2017
Actualizarea cumulativă 1 pentru SQL Server 2014 Service Pack 3
Actualizarea cumulativă 15 pentru SQL Server 2014 Service Pack 2
Despre Compilările SQL Server
Fiecare compilare nouă pentru SQL Server conține toate remedierile rapide și de securitate care au fost în compilarea anterioară. Vă recomandăm să instalați cea mai recentă versiune de compilare pentru versiunea de SQL Server:
Soluție de evitare
Pentru a rezolva această problemă, reconstruiți indexul bazei de date utilizând comanda DBCC CHECKTABLE .
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia standard pe care o utilizează Microsoft pentru a descrie actualizările de software.