Проблемы с прерывистым соединением с SQL Server - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть система автоматических машин обработки данных, которые запускают процессы, написанные на C #, которые управляются базой данных SQl Server 2014 Enterprise Edition.Несколько раз в день все процессы на одном компьютере будут получать следующую ошибку:

Произошла ошибка.Сведения об исключении: при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений.(поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр) Невозможно подключиться к базе данных SQL Server.

Все процессы на компьютере будут испытывать ту же ошибку при попытке связаться сбаза данных.Через 10 или 15 минут устройство сможет снова подключиться.Пока это происходит, другие машины в той же сети смогут подключаться без проблем.Мы проверили базу данных - SQL Server работает - он не заблокирован, он принимает соединение, имя экземпляра правильное.Это периодически возникающая проблема, которая затрагивает не все компьютеры, подключающиеся к базе данных, но когда она затрагивает одну - все процессы сталкиваются с ошибкой.Я искал это сообщение, и все ответы, которые я нашел, относятся к постоянным сбоям - не прерывистым, как у меня.

ОБНОВЛЕНИЕ

Нашел это по другому вопросу -Сейчас тестирование выглядит хорошо:

Проблема заключалась в том, что SQL был настроен на использование как TCP, так и именованных каналов.Иногда он пытается подключиться к последнему, который не использует стандартный порт SQL.Решение заключалось в том, чтобы префикс источника данных / сервера в строке подключения указывать Data Source = tcp: xxx.xxx.xx.xxx, чтобы всегда обеспечивать подключение через TCP

1 Ответ

0 голосов
/ 25 апреля 2018

Проблема заключалась в том, что SQL был настроен на использование как TCP, так и именованных каналов.Иногда он пытается подключиться к последнему, который не использует стандартный порт SQL.Решение заключалось в том, чтобы префикс источника данных / сервера в строке подключения указывать Data Source = tcp: xxx.xxx.xx.xxx, чтобы всегда обеспечивать подключение через TCP

...