Ошибка «Сообщение 10054, уровень 20, состояние 0, строка 0» с сервером SQL в Docker - PullRequest
0 голосов
/ 15 апреля 2019

Я установил несколько док-контейнеров на моей машине с Ubuntu 16.04 LTS. Все они имеют одно и то же изображение контейнера .

Это работает довольно хорошо, но некоторые пользователи сообщают мне о распространенной проблеме при попытке выполнить длительный запрос и примерно через минуту после его выполнения они получают сообщение об ошибке:

мужские. 10054, Nivel 20, Estado 0, Línea 0
Ошибка в транспортном средстве. (провайдер: TCP-провайдер, ошибка: 0 - перерыв в работе с сервером).

Сообщение об ошибке переведено на английский:

Сообщение 10054, Уровень 20, Состояние 0, Строка 0
Ошибка на транспортном уровне при получении результатов сервера. (провайдер: провайдер TCP, ошибка: 0 - удаленный хост вызвал прерывание существующего соединения.)

Есть ли что-то, что я могу изменить в соответствии с их конфигурацией?

PS: я заметил, что в свойствах сервера Connection> Соединения с удаленными серверами> у меня "Permitir conexiones remotas con este servidor проверен", имея 0 секунд (без времени ожидания) времени ожидания.

EDIT

Я прикрепляю снимки конфигурации одного контейнера:

General configuration

Memory configuration

Processors' configuration

Connections' configuration

Database configuration. Current values omitted (they're the same).

Advanced configuration

Опущена конфигурация разрешений, так как я не думаю, что она актуальна.

1 Ответ

0 голосов
/ 16 апреля 2019

Я решил эту проблему, используя официальный образ MSSQL от Microsoft , так как я использовал пользовательские пакеты Ubuntu 16.04 LTS + MSSQL.Все данные были сохранены в томе, поэтому переход с одного контейнера на новый был легким.

РЕДАКТИРОВАТЬ: предыдущий фактически не решил проблему.Реальная проблема заключалась в том, что я запрашивал слишком много данных.Запросы к обширному набору данных подразумевали огромное потребление оперативной памяти, настолько, насколько это было разрешено.Я не ограничивал это вообще, поэтому, когда достигнуто максимальное количество доступной оперативной памяти, ОС (диспетчер) убивала процесс.В результате было решено настроить ограничение памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...