Simptomi
Tip podataka kolone u tabeli baze podataka menjate iz ntext u nvarchar(max) na serveru koji koristi Microsoft SQL Server 2012, 2014 ili 2016. Kada ažurirate tabelu tako što ćete dodati više od 4000 zapisa, DBCC CHECKDB može da prijavi greške poput sledećih:
Napomena
Poruka 8961, nivo 16, država 1, broj linije
Greška u tabeli: ObjectID,indexID, partitionID, allocUnitID (tip LOB podaci). Off-row data node at page (PageID), slot 0, textID does not matches its reference from page (PageID), slot 0.
Poruka 8961, nivo 16, država 1, broj linije
Greška u tabeli: ObjectID,indexID, partitionID, allocUnitID (tip LOB podaci). Off-row data node at page (PageID), slot 0, textID does not matches its reference from page (PageID), slot 0.
Poruka 8929, nivo 16, država 1, broj linije
ObjectID, indexID, partitionID, allocUnitID (tip Podaci unutar reda): Pronađene greške u podacima van reda sa ID-om u vlasništvu zapisa podataka koji identifikuje RID = (RID)
DBCC rezultati za "Imetabele".
There are 1 rows in 1 page for object "TableName".
Funkcija CHECKTABLE je pronašla 0 grešaka dodele i 3 greške konzistentnosti u tabeli "Imetabele" (ID objekta).
repair_allow_data_loss predstavlja minimalni nivo popravke za greške koje pronađe DBCC CHECKTABLE (DatabaseName.TableName).
DBCC izvršavanje je dovršeno. Ako je DBCC odštampao poruke o grešci, obratite se administratoru sistema.
Rešenje
Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server:
Kumulativna ispravka 5 za SQL Server 2016 RTM
Kumulativna ispravka 2 za SQL Server 2016 SP1
Kumulativna ispravka 4 za SQL Server 2014 SP2
Kumulativna ispravka 11 za SQL Server 2014 SP1
Kumulativna ispravka 7 za SQL Server 2012 servisni paket 3
Osnovni podaci o kumulativnim ispravkama za SQL Server
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne i bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Najnovija kumulativna ispravka za SQL Server 2016
Najnovija kumulativna ispravka za SQL Server 2014
Najnovija kumulativna ispravka za SQL Server 2012 SP3
Privremeno rešenje
Da biste zaobišli ovaj problem kada promenite tip podataka, postavite opciju "Tipovi velikih vrednosti van reda" na vrednost 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 je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Reference
Saznajte više o terminologiji koju Microsoft koristi za opis softverskih ispravki.