n1ro°
RU

Ошибки · Решение

SQL Server ошибка 4073: что означает и как исправить

Возвращаемое значение крупного типа нельзя сериализовать в формат, понимаемый legacy client driver.

Редакция N1RO · Проверено

Короткий ответ

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.

Безопасные шаги

  1. Обновите драйвер как основное решение.
  2. Для временной совместимости измените контракт только этого legacy endpoint, если допустим меньший тип.
  3. Не обрезайте данные молча — контролируйте длину и возможную потерю.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если формат LOB обязателен, эскалируйте владельцу клиента требование обновления provider.

Похожие ошибки

  • /errors/sql-server-error-4001/
  • /errors/sql-server-error-4002/
  • /errors/sql-server-error-4004/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.