Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir datu bāze ar momentuzņēmumu izolētību vai lasīts fiksētais momentuzņēmuma izolācijas līmenis, kas iespējots programmā Microsoft SQL Server 2012 vai SQL Server 2014.
-
Datu bāzē ir neaizpildīta tabula, kurā ir vairāku sleju sagrupēti indeksi. Sagrupētā indeksa galvenā atslēga ir iestatīta uz Not Null.
-
Sākat transakciju un tabulā pievienojiet kolonnu. Tiek atjaunināta šīs kolonnas vērtība.
-
Jūs maināt sagrupētā indeksa vadošo atslēgu, lai atļautu vērtību NULL.
-
Jūs ievietojat rindas, kuru vērtība ir NULL sagrupētā indeksa galvenajai atslēgai, un pēc tam darbība jāpārtrauc.
Šajā scenārijā atrite izraisa datu bāzes aizdomīgumu un tikai "labojams" ar DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS komandu. Turklāt var tikt parādīts šāds kļūdas ziņojums:
Msg 3316, Level 21, State 2, Line 135 laikā, kad atsaucat reģistrēto operāciju datu bāzē '%. * ls ', radās kļūda ieraksta ID% S_LSN. Rinda netika atrasta. Atjaunojiet datu bāzi no pilnas dublējumkopijas vai labojiet datu bāzi.
Risinājums
Informācija par servisa pakotnes SQL Server 2014
Lai atrisinātu šo problēmu, iegūstiet 1. servisa pakotne SQL Server 2014.
Papildinformāciju par SQL Server 2014 1. servisa pakotni (SP1) skatiet rakstā kļūdas, kas ir novērstas SQL server 2014 1. servisa pakotnē.
Informācija par servisa pakotnes SQL Server 2012
Lai atrisinātu šo problēmu, iegūstiet jaunāko Microsoft SQL Server 2012 servisa pakotni. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2755533 Jaunākās SQL Server 2012 servisa pakotnes iegūšana
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".