MSSQL Error 17828: The packet size is not supported — решение
- Ошибка в системном журнале:
Error: 17828, Severity: 16, State: 1. The packet size %d is not supported. - Сбои подключения клиентских рабочих мест 1С или внешних интеграционных сервисов (REST / OData).
- Падение сессий при попытке передать сетевой пакет размером менее 512 байт или более 32767 байт.
1. Проверка текущей конфигурации Network Packet Size в SQL Server
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'network packet size';Значение по умолчанию — 4096 байт. Максимально допустимое — 32767 байт, минимальное — 512 байт.
2. Сброс размера пакета на стандартное значение по умолчанию
-- Установка оптимального значения для 1С (4096 или 8192 байт)
EXEC sp_configure 'network packet size', 4096;
RECONFIGURE WITH OVERRIDE;3. Проверка настроек MTU сетевых интерфейсов
# Проверка размера MTU на сервере СУБД и сервере 1С
Get-NetIPInterface | Select-Object InterfaceAlias, NlMtuЕсли на сетевых картах включен режим Jumbo Frames (MTU 9000), убедитесь, что все промежуточные коммутаторы и маршрутизаторы поддерживают данный размер кадра без фрагментации.
4. Проверка строки подключения внешних коннекторов 1С
Убедитесь, что в сторонних внешних источниках данных 1С (через ODBC/OLEDB) параметр Packet Size не задан некорректно (например, 0 или отрицательное число).
Частые вопросы (FAQ)
Имеет ли смысл увеличивать network packet size до 32767 для 1С?
В большинстве случаев нет. Размер 4096–8192 байт оптимален для OLTP нагрузки 1С. Значение 32KB может снизить производительность из-за повышенного расхода невыгружаемой памяти ядра (Network Buffers).
Может ли поврежденный драйвер сетевой карты вызывать ошибку 17828?
Да, аппаратные баги разгрузки TCP (TCP Chimney / Large Send Offload) могут повреждать структуру заголовка TDS-пакета, искажая поле Packet Size.
Требуется ли перезапуск SQL Server после изменения параметра network packet size?
Нет, параметр является динамическим и вступает в силу сразу после выполнения команды RECONFIGURE для всех новых подключений.
Как отключить Large Send Offload (LSO) для тестирования сети?
В PowerShell: Disable-NetAdapterLso -Name 'Ethernet*' -IPv4.