Ошибки · Решение
SQL Server ошибка 4012: что означает и как исправить
Сервер обнаружил collation metadata, которое не соответствует допустимому TDS значению.
Короткий ответ
SQL Server 4012: в TDS пришёл недопустимый идентификатор collation. Обычно источник — клиентский драйвер или самописная сериализация протокола.
Что означает ошибка
Сервер обнаружил collation metadata, которое не соответствует допустимому TDS значению.
Возможные причины
- Драйвер отправил неверный collation token для строкового параметра.
- Самописный TDS-клиент ошибочно кодирует LCID/sort metadata.
- Проблема проявляется только для конкретной кодировки или параметра.
Что проверить
- Зафиксируйте параметр и тип строки, после которого возникает 4012.
- Сравните тот же вызов через официальный современный драйвер.
- Проверьте client encoding/collation settings и отсутствие ручного TDS layer.
Безопасные шаги
- Исправьте генерацию collation metadata на стороне клиента.
- Обновите драйвер, если ошибка связана с его старой версией.
- Не меняйте collation базы, пока не доказано, что серверная collation действительно источник проблемы.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если 4012 появляется только на одном типе параметра, приложите его тип/длину и способ bind к обращению разработчику клиента.
Похожие ошибки
- /errors/sql-server-error-4001/
- /errors/sql-server-error-4002/
- /errors/sql-server-error-4004/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.