Symptomer
Du endrer datatypen for en kolonne i en tabell fra ntext til nvarchar(max) på en server som kjører Microsoft SQL Server 2012, 2014 eller 2016. Når du oppdaterer tabellen ved å legge til flere enn 4 000 poster, kan DBCC CHECKDB rapporter feil som ligner på følgende:
Msg 8961, nivå 16 tilstand 1, LineNumber
Tabell-feil: objekt-ID, indexID, PartisjonID, allocUnitID (type LOB-data). -Rad-datanoden på siden (PageID), spor 0, tekst-ID samsvarer ikke med sin referanse fra side (PageID), spor 0.
Msg 8961, nivå 16 tilstand 1, LineNumber
Tabell-feil: objekt-ID, indexID, PartisjonID, allocUnitID (type LOB-data). -Rad-datanoden på siden (PageID), spor 0, tekst-ID samsvarer ikke med sin referanse fra side (PageID), spor 0.
Msg 8929, nivå 16 tilstand 1, LineNumber
Objekt-ID, indexID, PartisjonID, allocUnitID (type i rad data): feil funnet i data-rad med ID eies av datapost som er identifisert av RID = (RID)
DBCC resultater fortabellnavn.
Det er 1 rader i 1 sider for objektet "tabellnavn".
CHECKTABLE finner 0 tildeling-feil og 3 feil i konsekvens i tabellen 'TableName' (objekt-ID).
repair_allow_data_loss er det minste reparasjon nivået for feilene som ble funnet av DBCC CHECKTABLE (DatabaseName.TableName).
DBCC utføring fullført. Hvis DBCC skrives ut feilmeldinger, kontakter du systemansvarlig.
Løsning
Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:
Kumulativ oppdatering 5 for SQL Server-2016 RTM
Samleoppdatering 2 for SQL Server 2016 SP1
Kumulativ oppdatering 4 for SQL Server 2014 SP2
Hver nye kumulativ oppdatering for SQL Server inneholder alle hurtigreparasjoner og sikkerhetsoppdateringer reparasjonene som er inkludert i den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Nyeste kumulative oppdateringen for SQL Server-2016
Løsning
Hvis du vil omgå dette problemet etter at du endrer datatypen, angir du alternativet store verdityper fra rad til 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 har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Referanser
Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.