Ошибка подключения к БД

MS SQL server находится на хосте, к ней локально подключается приложение из докера через

static string connectionString = $"Data Source=localhost;" +
                                     "Initial Catalog=DB1;" +
                                     "User id=sa;" +
                                     "Password=***;";

using (var sqlConnection = new SqlConnection(connectionString)) {
    await sqlConnection.OpenAsync();
    ...
}

В большенстве случаев всё нормально, но иногда получаю такую ошибку:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - Success)

Помогает перезапуск SQL сервера, либо многократная попытка подключения, и спустя 2-10 попыток, проблема временно исчезает

Ошибка выскакивает и при локальном, и при удалённом подключении

При этом причина не похожа на какой-то "спящий режим", ибо я могу получить ошибку при удалённом подключении, даже когда локальное приложение работает с БД в то же время

При подключении через sql server management studio вроде проблем не было, но пользовался им не часто

Пара дней курения гугла результатов не принесло

Версия приложения .Net 5.0, ошибку получал и на .Net Core 3.1

Система на хосте ubuntu 20.04

Устанавливал по этому гайду

В чём может быть проблема?

UPD: Всё же проблема в спящем режиме, поэтому повторение запроса решало проблему, выводя бд из сна. Только не понимаю, как это обойти, не отправляя пустой запрос раз в 30 минут. При том, что AUTO CLOSE стоит на false


Ответы (0 шт):