KB3213240-FIX: Promjena vrste podataka, a zatim ažuriranje tablice s više od 4.000 zapisa uzrokuje korupciju baze podataka

Simptomi

Vrstu podataka stupca u tablici baze podataka možete promijeniti iz servisa ntext na nvarchar (Max) na poslužitelju na kojem je instaliran Microsoft SQL Server 2012, 2014 ili 2016. Kada tablicu ažurirate dodavanjem više od 4.000 zapisa, DBCC CHECKDB može prijaviti pogreške koje nalikuju sljedećem:

MSG 8961, razina 16, State 1, Linenumber Pogreška tablice: objektivno, indexid, partitiiid, allocunitid (vrsta lob podataka). Podatkovni čvor izvan retka na stranici (pageid), utor 0, textd ne odgovara svojoj referenci od stranice (pageid), utor 0. MSG 8961, razina 16, State 1, Linenumber Pogreška tablice: objektivno, indexid, partitiiid, allocunitid (vrsta lob podataka). Podatkovni čvor izvan retka na stranici (pageid), utor 0, textd ne odgovara svojoj referenci od stranice (pageid), utor 0. MSG 8929, razina 16, State 1, Linenumberobjektid, indexid, partitiiid, allocunitid (vrsta podataka u retku): pogreške pronađene u podacima izvan retka s ID -om u vlasništvu podataka koji je identificiran putem programa Rid = (Rid) DBCC rezultati za 'tablename'. Postoji 1 redak na 1 stranici za objekt "tablename". Tablica za provjeru pronađeno je 0 pogrešaka prilikom alokacije i 3 pogreške dosljednosti u tablici "tablename" (objektid). repair_allow_data_loss je minimalna razina popravka pogrešaka koja je pronađena putem DBCC CHECKTABLE (DATABASENAME. TableName). Dovršeno je izvršavanje DBCC. Ako je DBCC ispisana poruka o pogrešci, obratite se administratoru sustava.

Rješenje

Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:

Kumulativno ažuriranje 5 za SQL Server 2016 RTM

Kumulativno ažuriranje 2 za SQL Server 2016 SP1

Kumulativno ažuriranje 4 za SQL Server 2014 SP2

Kumulativno ažuriranje 11 za SQL Server 2014 SP1

Kumulativno ažuriranje 7 za SQL Server 2012 Service Pack 3

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su uvršteni u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Najnovije Kumulativno ažuriranje za SQL Server 2016

Najnovije Kumulativno ažuriranje za SQL Server 2014

Najnovije Kumulativno ažuriranje za SQL Server 2012 SP3

Zaobilazno rješenje

Da biste zaobišli taj problem nakon promjene vrste podataka, postavite mogućnost velike vrste vrijednosti izvan retka na 1.

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

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ažuriranja.

Potrebna vam je dodatna pomoć?

Proširite svoje vještine
Istražite osposobljavanje
Prvi koristite nove značajke
Pridružite se Microsoft Insidere

Jesu li ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×