Simptomi
Pretpostavimo da imate bazu podataka omogućenu za FILESTREAM u instanci sistema Microsoft SQL Server. Kada pokrenete transakciju i koristite SqlFileStream .NET API da biste otvorili Filestream datoteku, zadatak možda neće uspeti i izbaciti izuzetak zbog spoljnih faktora.
Ako ponovo otvorite datoteku pomoću SqlFileStream u okviru iste transakcije i urezivanja, možete da dobijete interne poruke o grešci koje izgledaju ovako:
Napomena
datum vreme, spids, nepoznato, greška: 5571<c/> ozbiljnost: 23<c/> stanje: 3.
datum vreme, spids, nepoznato, interna FILESTREAM greška: nije uspelo pristupanje tabeli za prikupljanje smeća.
Ako pokrenete dbcc checktable ('sys.filestream_tombstone_2073058421'), možete da dobijete sledeću poruku o grešci:
Napomena
Poruka 8951, nivo 16, država 1, broj linije
Greška u tabeli: tabela dbcc checktable ('sys.filestream_tombstone_2073058421') ( ID IDNumber). Red podataka nema odgovarajući red indeksa u indeksu "FSTSNCIdx" (IDIDNumber). Mogući ključevi koji nedostaju ili su nevažeći za podudaranje reda indeksa:
Rešenje
Rešenje ovog problema je uključeno u sledeće ispravke za SQL Server:
Kumulativna ispravka 13 za SQL Server 2017
Kumulativna ispravka 1 za SQL Server 2014 servisni paket 3
Kumulativna ispravka 15 za SQL Server 2014 servisni paket 2
Osnovni podaci o SQL Server verzijama
Svaka nova verzija za SQL Server sadrži sve hitne i bezbednosne ispravke koje su bile u prethodnoj reviziji. Preporučujemo da instalirate najnoviju verziju za svoju verziju sistema SQL Server:
Verzije verzije za SQL Server 2017
Verzije verzije za SQL Server 2014
Privremeno rešenje
Da biste zaobišli ovaj problem, ponovo napravite indeks baze podataka tako što ćete koristiti komandu DBCC CHECKTABLE .
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Reference
Saznajte više o standardnoj terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.