Ознаки
Припустімо, що у вас є таблиця, яка містить Кластерний індекс стовпців у Microsoft SQL Server 2014. Ви запускаєте запит DDL у таблиці, щоб змінити тип даних наявного стовпця. Наприклад, ви оновлюєте тип даних для Column_1 Table_1 з VARCHAR (499) до NWARCHAR (500), виконавши таку команду:
ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL
У цій ситуації виникає кілька помилок затвердження, і з'являється таке повідомлення про помилку:
Розташування: <шлях до файлу> \xmcolenc.INL: 413Expression: PF_CURRENT_STATUS = = PFS_OK (у Xmcolumencoder<Непідписаний символ *>:: EncodeValueForSecondary) SPID: <SPID>process ID: <процес ID >опис: HR: 0x0location: <шлях до файлу> \Xmerror.cpp: 43expression: 0 (у PFSetLastError) spid: <SPID>процес ідентифікатор: <процес код>Опис: HR
Крім того, кілька файлів дампа пам'яті створюються в папці журналу помилок SQL Server, а також кілька повідомлень про помилки, які нагадують такі повідомлення в журналі помилок SQL Server:
<час> spid<ID> * * * дамп стека, який передається на <ім'я диска>: \PROGRAM Files\microsoft SQL Seri\mssql12. SQL2014\MSSQL\LOG\SQLDump0002.txt<дата> spid<ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <дата час> spid<ID> * <дата час> SPID<ID> * початок стека дамп: <дата час> SPID<ID> * <дата час> spid<ID><дата , що> на сервер. <дата _ часу> SPID<ID> * <дата час> spid<ID> * розташування: <шлях до файлу> \ xmcolenc.INL: 413<дата _ часу> spid<ID> * вираз: PF_CURRENT_STATUS = = PFS_OK<дата час> spid<ID> * (у Xmcolumencoder<"не підписаний char" *>:: EncodeValueForSecondary) <дата час> SPID<ID> * SPID: 60<дата час> SPID<ID> * код процесу : 3680<дата _ часу> spid<ID> * Опис: hr: 0X0 <дата час> spid<ID> * <дата час> SPID<id> * вхід буфер 136 БАЙТ-<дата час> SPID<ID> * змінити таблицю Table_1 змінити стовпець COL1 nvarar (500) Not Null;
Спосіб вирішення
Після інсталяції цього виправлення може з'явитися таке нове повідомлення про помилку, коли запит DDL не вдасться:
Не вдалося змінити оператор ТАБЛИЦІ, оскільки додатковий словник досяг максимального розміру. Зверніть увагу на те, що ви скидали індекс columlstore, змінивши стовпець, а потім створюючи новий індекс columlstore.
Це виправлення також запобігає створенню файлів дампа пам'яті в журналі помилок SQL Server. Ця проблема була спочатку зафіксоване в таких сукупних поновленнях SQL Server:
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Радимо завантажити та інсталювати найновіші накопичувальне оновлення для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".