Как я могу сказать, что SQL Server запущен и готов к использованию?
-
03-07-2019 - |
Вопрос
У меня есть приложение, которое запускается при запуске системы, которое должно общаться с локальной установкой SQL Server 2005. Я использую класс ServiceController, чтобы дождаться его ввода в " Выполняется " состояние, и в большинстве случаев это работает нормально. Однако иногда при «холодной» загрузке мой первый запрос завершается неудачно, говоря, что он не может войти в систему текущего пользователя.
Звучит как состояние гонки, но я решил, что мой вызов WaitForStatus должен был его решить.
Есть ли лучший способ убедиться, что он действительно работает? Должен ли я просто добавить дополнительный сон и предположить, что это достаточно долго?
Решение
Вы всегда можете использовать System.Data. Sql.SqlDataSourceEnumerator и проверьте наличие локального экземпляра.
Кроме того, вы также можете узнать информацию о версии с помощью перечислителя.
Другие советы
Вы можете просто перехватить исключение и повторить, пока оно не сработает ...