Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с переводом из varchar в nvarchar  [new]
razer25
Member

Откуда:
Сообщений: 13
Добрый день. Есть база на MSSQL Server 2012, одну из колонок потребовалось перевести из varchar в nvarchar. Делал через alter column x nvarchar(max) null. Выводит сообщение 511 'Не удалось создать строку размером 8063, который превышает допустимый размер, равный 8060.' Проверял сортировкой по длине строки - самая длинная строка состоит из 289 символов. DATALENGTH показывает тоже 289. Тогда я решил создать темповую колонку и интервалами копировать данные из того столбца в новый, который уже nvarchar. Таким образом удалось выяснить, что из почти 90000 записей только 2 не конвертятся. В них хранится обычная строка из 23 символов - русские буквы в верхнем регистре. Причем, даже если пытаться апдейтить значение в оригинальной колонке, то опять же появляется ошибка о превышении размера. Это какая-то битая запись? Почему подобное может происходить?
29 май 18, 09:37    [21449008]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с переводом из varchar в nvarchar  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
razer25,

попробуйте сначала перевести в допустим VARCHAR(1000) а потом уже в nvarchar(max)

https://msdn.microsoft.com/ru-ru/library/cc280380(v=sql.120).aspx
29 май 18, 09:50    [21449044]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с переводом из varchar в nvarchar  [new]
invm
Member

Откуда: Москва
Сообщений: 9128
razer25,

Проверьте на наличие "осиротевших столбцов" - 21316631
Если таковые есть, перед конвертацией выполните alter table ... rebuild.
29 май 18, 10:05    [21449088]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с переводом из varchar в nvarchar  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
razer25,

та в общем ребилд можно просто сделать, таблица небольшая
29 май 18, 10:09    [21449102]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с переводом из varchar в nvarchar  [new]
razer25
Member

Откуда:
Сообщений: 13
Спасибо за советы. Помогла перестройка индексов.
29 май 18, 12:35    [21449777]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить