Symptomen
U wijzigt het gegevenstype van een kolom in een databasetabel van ntext in nvarchar(max) op een server waarop Microsoft SQL Server 2012, 2014 of 2016 wordt uitgevoerd. Wanneer u de tabel bijwerkt door meer dan 4000 records toe te voegen, kan DBCC CHECKDB fouten melden die hier als volgt uitzien:
Opmerking
Msg 8961, Level 16, State 1, LineNumber
Tabelfout: ObjectID,indexID, partitionID,allocUnitID (type LOB-gegevens ). Het off-row gegevensknooppunt op pagina (PageID), sleuf 0, textID komt niet overeen met de verwijzing vanaf pagina (PageID), sleuf 0.
Msg 8961, Level 16, State 1, LineNumber
Tabelfout: ObjectID,indexID, partitionID,allocUnitID (type LOB-gegevens ). Het off-row gegevensknooppunt op pagina (PageID), sleuf 0, textID komt niet overeen met de verwijzing vanaf pagina (PageID), sleuf 0.
Msg 8929, Level 16, State 1, LineNumber
ObjectID,indexID, partitionID, allocUnitID (type In-row data): Fouten gevonden in off-row-gegevens met id die eigendom is van een gegevensrecord die wordt geïdentificeerd door RID = (RID)
DBCC-resultaten voor 'TableName'.
Er zijn 1 rijen in 1 pagina's voor object 'TableName'.
CHECKTABLE heeft 0 toewijzingsfouten en 3 consistentiefouten gevonden in tabel 'TableName' (ObjectID).
repair_allow_data_loss is het minimale herstelniveau voor de fouten die zijn gevonden met DBCC CHECKTABLE (Databasenaam.Tabelnaam).
DBCC-uitvoering voltooid. Als DBCC foutberichten heeft afgedrukt, neem dan contact op met de systeembeheerder.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 5 voor SQL Server 2016 RTM
Cumulatieve update 2 voor SQL Server 2016 SP1
Cumulatieve update 4 voor SQL Server 2014 SP2
Cumulatieve update 11 voor SQL Server 2014 SP1
Cumulatieve update 7 voor SQL Server 2012 Service Pack 3
Informatie over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2016
Meest recente cumulatieve update voor SQL Server 2014
Meest recente cumulatieve update voor SQL Server 2012 SP3
Tijdelijke oplossing
Als u dit probleem wilt omzeilen nadat u het gegevenstype hebt gewijzigd, stelt u de optie voor het typen grote waarden buiten rij in op 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 heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.