n1ro°
RU

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

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

Сервер получил некорректный MARS header в TDS stream.

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

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

SQL Server 4011: MARS TDS header содержит ошибки. Проверьте Multiple Active Result Sets и версию драйвера; временное отключение MARS помогает подтвердить источник.

Что означает ошибка

Сервер получил некорректный MARS header в TDS stream.

Возможные причины

  • Драйвер неправильно ведёт sequence/state для нескольких активных result sets.
  • Соединение с MARS используется конкурентно способом, которого библиотека не поддерживает.
  • Промежуточный компонент повреждает MARS metadata.

Что проверить

  • Повторите сценарий с MultipleActiveResultSets=False.
  • Проверьте одновременные reader/command на одном connection.
  • Обновите драйвер и сравните поведение на чистом тестовом клиенте.

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

  1. Уберите небезопасное конкурентное использование одного MARS connection.
  2. Обновите драйвер, если ошибка исчезает на новой версии.
  3. Если MARS не нужен, отключите его в connection string.

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

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

  • Для повторяющегося 4011 передайте разработчику последовательность команд на одном connection и версию клиента.

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

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

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

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

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

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