KB3213240-Labojums: datu tipa maiņa un tabulas atjaunināšana ar vairāk nekā 4 000 ierakstiem izraisa datu bāzes bojājumus

Strādājiet jebkur no jebkuras ierīces ar Microsoft 365

Jauniniet uz Microsoft 365, lai strādātu jebkur, izmantojot jaunākos līdzekļus un atjauninājumus.

Jaunināt tūlīt

Simptomi

Varat mainīt datu tipu datu bāzes tabulā no ntext uz nvarchar (max) serverī, kurā darbojas sistēma Microsoft SQL Server 2012, 2014 vai 2016. Atjauninot tabulu, pievienojot vairāk nekā 4 000 ierakstus, DBCC CHECKDB var ziņot par kļūdām, kas līdzinās tālāk norādītajām.

Msg 8961, līmenis 16, valsts 1, rindas numurs% Tabulas kļūda: ObjectId, indexID, PARTITIONID, allocUnitID (rakstīt LOB datus). Lappuses datu mezgls, kas atrodas ārpus rindas (PageID), slots 0, textID neatbilst tā atsaucei no lapas (PageID), slots 0. Msg 8961, līmenis 16, valsts 1, rindas numurs% Tabulas kļūda: ObjectId, indexID, PARTITIONID, allocUnitID (rakstīt LOB datus). Lappuses datu mezgls, kas atrodas ārpus rindas (PageID), slots 0, textID neatbilst tā atsaucei no lapas (PageID), slots 0. Msg 8929, Level 16, State 1, rindas numurs%ObjectId, indexID, partitionID, allocUnitID (ierakstiet rindu datus): kļūdas, kas atrastas ārpus rindas datiem ar ID , kas piederēs, atbrīvojot no RID = (RID) DBCC rezultāti "tablename". Objektam "tablename" ir 1 rindas 1 rindā. CHECKTABLE ir atrasta 0 sadalījuma kļūdas un 3 konsekvences kļūdas tabulā 'tablename' (ObjectId). repair_allow_data_loss ir minimālais labošanas līmenis kļūdām, kuras ir DBCC CHECKTABLE (databasename. tablename). DBCC izpilde pabeigta. Ja DBCC izdrukātie kļūdu ziņojumi, sazinieties ar sistēmas administratoru.

Risinājums

Šī problēma ir novērsta tālāk norādītajos kumulatīvajos SQL Server atjauninājumos:

Kumulatīvais atjauninājums 5 SQL Server 2016 RTM

SQL Server 2016 SP1 kumulatīvais atjauninājums 2

Kumulatīvais atjauninājums 4 SQL Server 2014 SP2

Kumulatīvais atjauninājums 11 SQL Server 2014 SP1

Kumulatīvais atjauninājums 7 SQL Server 2012 3. servisa pakotnei

Katrs jaunais kumulatīvais SQL Server atjauninājums ietver visus labojumfailus un drošības labojumus, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:

Jaunākais SQL Server 2016 kumulatīvais atjauninājums

Jaunākais SQL Server 2014 kumulatīvais atjauninājums

Jaunākais SQL Server 2012 SP3 kumulatīvais atjauninājums

Risinājums

Lai novērstu šo problēmu pēc datu tipa maiņas, iestatiet lielo vērtību tipi ārpus rindas opcijas uz 1.

ALTER TABLE TableName ALTER COLUMN COLUMN_NAME nvarchar(max) NOT NULL 
go
exec sp_tableoption 'TableName', 'large value types out of row', '1'

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Atsauces

Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×