Ошибки · Решение
SQL Server ошибка 4009: что означает и как исправить
Сервер отклонил входной TDS stream, потому что заголовки протокола содержали недопустимые данные.
Короткий ответ
SQL Server 4009 указывает на повреждённые или некорректно сформированные общие TDS headers. Проверьте клиентскую библиотеку и любой прокси, который вмешивается в протокол.
Что означает ошибка
Сервер отклонил входной TDS stream, потому что заголовки протокола содержали недопустимые данные.
Возможные причины
- Нестандартный драйвер неправильно сериализует TDS header.
- Прокси/шлюз изменяет или режет пакет на пути к SQL Server.
- Есть несовместимость между версией клиента и используемой протокольной функцией.
Что проверить
- Воспроизведите запрос через официальный Microsoft ODBC/OLE DB driver.
- Снимите packet capture и сравните TDS header до и после прокси.
- Проверьте, привязан ли 4009 к одной версии приложения или одному хосту.
Безопасные шаги
- Обновите или замените компонент, который формирует TDS.
- Исключите вмешивающийся прокси для контрольного подключения.
- После исправления создайте новое соединение, а не переиспользуйте уже повреждённую session.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если 4009 остаётся только на одном клиенте, приложите версию драйвера и сетевой trace к обращению разработчику этого клиента.
Похожие ошибки
- /errors/sql-server-error-4001/
- /errors/sql-server-error-4002/
- /errors/sql-server-error-4004/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.