Ошибки · Решение
SQL Server ошибка 4073: что означает и как исправить
Возвращаемое значение крупного типа нельзя сериализовать в формат, понимаемый legacy client driver.
Короткий ответ
SQL Server 4073: клиент старше SQL Server 2005 не умеет получать return value типа varchar(max), nvarchar(max), varbinary(max), XML или другого LOB. Обновите драйвер.
Что означает ошибка
Возвращаемое значение крупного типа нельзя сериализовать в формат, понимаемый legacy client driver.
Возможные причины
- Старая клиентская библиотека используется незаметно через middleware.
- Процедура стала возвращать MAX/XML вместо более старого типа.
- Legacy endpoint вызывает функцию/процедуру с LOB return value.
Что проверить
- Определите версию client driver.
- Проверьте точный тип return value.
- Сравните выполнение через современный Microsoft driver.
Безопасные шаги
- Обновите драйвер как основное решение.
- Для временной совместимости измените контракт только этого legacy endpoint, если допустим меньший тип.
- Не обрезайте данные молча — контролируйте длину и возможную потерю.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если формат LOB обязателен, эскалируйте владельцу клиента требование обновления provider.
Похожие ошибки
- /errors/sql-server-error-4001/
- /errors/sql-server-error-4002/
- /errors/sql-server-error-4004/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.