Застосовується до
SQL 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

Ознаки

Ви змінюєте тип даних стовпця в таблиці бази даних від ntext до nvarmar (Max) на сервері, на якому запущено Microsoft SQL Server 2012, 2014 або 2016. Коли ви оновлюєте таблицю, додавши понад 4 000 записів, DBCC CHECKDB може повідомляти про помилки, які нагадують такі повідомлення:

MSG 8961, рівень 16, стан 1, Linenumber Помилка таблиці: " об'єктивна", " ідентифікатор _ клієнта", "код _ клієнта", allocUnitID (тип даних "лоб"). Вузол даних Off-Row на сторінці (pageid), слот 0, textID не відповідає її посилання на сторінці (pageid), слот 0. MSG 8961, рівень 16, стан 1, Linenumber Помилка таблиці: " об'єктивна", " ідентифікатор _ клієнта", "код _ клієнта", allocUnitID (тип даних "лоб"). Вузол даних Off-Row на сторінці (pageid), слот 0, textID не відповідає її посилання на сторінці (pageid), слот 0. MSG 8929, рівень 16, стан 1, Linenumberоб'єктидій, ідентифікатор індексування, partitionid, allocUnitID (введіть дані в рядках): помилки, знайдені в нерядках дані з ІДЕНТИФІКАТОРОМ , що належить запису даних, виявлених за допомогою функції позбавити = (позбавити) Результати DBCC для "TableName". На 1 сторінках об'єкта "TableName" є 1 рядки. CHECKTABLE знайдено 0 помилок виділення та 3 помилки узгодженості в таблиці "TableName" (об'єктив). repair_allow_data_loss – це мінімальний рівень відновлення помилок, виявлених уDatabaseName. TableName(DBCC). Виконання DBCC завершено. Якщо повідомлення про помилку DBCC надруковано, зверніться до системного адміністратора.

Спосіб вирішення

Ця проблема усунена в таких сукупних оновлень для SQL Server:

Сукупне оновлення 5 для SQL Server 2016 RTM

Сукупне оновлення 2 для SQL Server 2016 SP1

Сукупне оновлення 4 для SQL Server 2014 SP2

Сукупне оновлення 11 для SQL Server 2014 SP1

Сукупне оновлення 7 для SQL Server 2012 Service Pack 3

Кожне нове Сукупне оновлення для SQL Server містить усі виправлення виправлень і виправлень, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Найновіше Сукупне оновлення для SQL Server 2016

Найновіше Сукупне оновлення для SQL Server 2014

Найновіше Сукупне оновлення для SQL Server 2012 SP3

Інші способи вирішення

Щоб вирішити цю проблему після Змінення типу даних, установіть для параметра велике значення параметр "вийти з рядка " на 1.

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

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Посилання

Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.