Simptomi
Pieņemsim, ka jums ir FILESTREAM datu bāze Microsoft SQL Server instancē. Startējot transakciju un izmantojot SqlFileStream .NET API, lai atvērtu FileStream failu, uzdevums var neizdoties un izmest izņēmumu ārējo faktoru dēļ.
Ja atverat failu vēlreiz, izmantojot SqlFileStream vienā un tajā pašā transakcijā, iespējams, tiek parādīti iekšējie kļūdu ziņojumi, kas līdzinās tālāk norādītajiem.
datuma laiks, SPIDs, nezināms, kļūda: 5571<c/> nopietnība: 23<c/> stāvoklis: 3.datuma laiks, SPIDs, nezināms, iekšējā FileStream kļūda: neizdevās piekļūt atkritumu savākšanas tabulai.
Ja palaižat DBCC checktable (' sys.filestream_tombstone_2073058421 '), iespējams, saņemsit šādu kļūdas ziņojumu:
Msg 8951, līmenis 16, valsts 1, Line rindas numurs%
Tabulas kļūda: Table DBCC checktable (' sys.filestream_tombstone_2073058421 ') (ID unikālaisIDnumurs). Datu rindai nav atbilstoša indeksa rindas indeksā ' FSTSNCIdx ' (IDunikālaisIDnumurs). Iespējamās trūkstošo vai nederīgo atslēgu indeksēšanas rindas atbilstībai:
Risinājums
Šīs problēmas labojums ir iekļauts šādos SQL Server atjauninājumos:
Kumulatīvais atjauninājums 13 SQL Server 2017
Kumulatīvais atjauninājums 1 SQL Server 2014 3. servisa pakotnei
Kumulatīvais atjauninājums 15 SQL Server 2014 2. servisa pakotnei
Par SQL Server būvējumiem
Katrā jaunajā SQL Server būvējumā ir ietverti visi labojumfaili un drošības labojumi, kas bija iepriekšējā būvējumā. Ieteicams instalēt jaunāko būvējumu savai SQL Server versijai:
Risinājums
Lai novērstu šo problēmu, pārveidojiet datu bāzes indeksu, izmantojot komandu DBCC CHECKTABLE .
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Uzziniet par standarta terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.