Ошибка подключения к БД
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