2628: Строковые или двоичные данные были бы усечены в таблице, столбце ...; усекаемое значение
SQL ServerЧто это значит?
Улучшенная версия 8152 (SQL Server 2019 и новее). Явно сообщает, какие таблица, столбец и значение были бы усечены.
Почему возникает?
Запись текстового/двоичного значения длиннее заданной длины целевого столбца. Обычно это несоответствие схемы или входные данные неожиданной длины.
Как исправить
Посмотрите имя таблицы и столбца в тексте ошибки; либо расширьте столбец, либо сократите исходное значение. В SQL Server 2019 ошибка 2628 по умолчанию выдаётся только при уровне совместимости 150+; на более низких уровнях включите её с помощью ALTER DATABASE SCOPED CONFIGURATION SET VERBOSE_TRUNCATION_WARNINGS = ON или trace flag 460. Начиная с SQL Server 2016 SP2 CU6 и 2017 CU12 trace flag 460 даёт такое же подробное сообщение. Выравнивайте длины полей с приёмником на уровне переноса.
Ещё по этой СУБД
- 547Оператор INSERT/UPDATE/DELETE конфликтует с ограничением FOREIGN KEY / CHECK
- 18456Ошибка входа для пользователя (Login failed)
- 8152Строковые или двоичные данные были бы усечены
- 1222Превышен тайм-аут запроса блокировки
- 9002Журнал транзакций базы данных заполнен по причине ...
- 1105Не удалось выделить место для объекта в базе данных, поскольку файловая группа заполнена
- 208Недопустимое имя объекта