Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Příznaky

Datový typ sloupce v databázové tabulce změníte na serveru, na kterém běží Microsoft SQL Server 2012, 2014 nebo 2016. Když aktualizujete tabulku přidáním víc než 4 000 záznamů, může příkaz DBCC CHECKDB ohlásit chyby podobné následujícím:

Msg 8961, úroveň 16, stav 1, lineNumber Chyba tabulky: objectID, indexID, PartitionID, allocUnitID (typ dat LOB) Uzel data mimo řádek na stránce (pageid), slotu 0, textID neodpovídá svému odkazu na stránku (pageid), pozici 0. Msg 8961, úroveň 16, stav 1, lineNumber Chyba tabulky: objectID, indexID, PartitionID, allocUnitID (typ dat LOB) Uzel data mimo řádek na stránce (pageid), slotu 0, textID neodpovídá svému odkazu na stránku (pageid), pozici 0. Msg 8929, úroveň 16, stav 1, lineNumberobjectID, indexID, PartitionID, allocUnitID (zadejte data v řádku): Chyby nalezené v datech mimo řádek s ID , které je vlastněno datovým záznamem podle RID = (RID) Výsledky příkazu DBCC pro příkazTableName Pro objekt "TableName" je na 1 stránkách 1 řádek. CHECKTABLE zjistil chyby přidělení 0 a 3 chyby konzistence v tabulce "TableName" (objectID). repair_allow_data_loss je minimální úroveň opravy pro chyby nalezené příkazem DBCC CHECKTABLE (DatabaseName. TableName). Příkaz DBCC byl dokončen. Pokud příkaz DBCC vytiskl chybové zprávy, obraťte se na správce systému.

Řešení

Tento problém je opravený v následujících kumulativních aktualizacích systému SQL Server:

Kumulativní aktualizace 5 pro SQL Server 2016 RTM

Kumulativní aktualizace 2 pro SQL Server 2016 SP1

Kumulativní aktualizace 4 pro SQL Server 2014 SP2

Kumulativní aktualizace 11 pro SQL Server 2014 SP1

Kumulativní aktualizace 7 pro SQL Server 2012 Service Pack 3

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

Nejnovější kumulativní aktualizace pro SQL Server 2012 SP3

Alternativní řešení

Pokud chcete tento problém vyřešit po změně datového typu, nastavte možnost pro velké hodnoty mimo řádek na hodnotu1.

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

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Odkazy

Informace o terminologii , kterou Microsoft používá k popisu aktualizací softwaru.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.