Как я могу сказать, что SQL Server запущен и готов к использованию?

StackOverflow https://stackoverflow.com/questions/615662

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть приложение, которое запускается при запуске системы, которое должно общаться с локальной установкой SQL Server 2005. Я использую класс ServiceController, чтобы дождаться его ввода в " Выполняется " состояние, и в большинстве случаев это работает нормально. Однако иногда при «холодной» загрузке мой первый запрос завершается неудачно, говоря, что он не может войти в систему текущего пользователя.

Звучит как состояние гонки, но я решил, что мой вызов WaitForStatus должен был его решить.

Есть ли лучший способ убедиться, что он действительно работает? Должен ли я просто добавить дополнительный сон и предположить, что это достаточно долго?

Это было полезно?

Решение

Вы всегда можете использовать System.Data. Sql.SqlDataSourceEnumerator и проверьте наличие локального экземпляра.

Кроме того, вы также можете узнать информацию о версии с помощью перечислителя.

Другие советы

Вы можете просто перехватить исключение и повторить, пока оно не сработает ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top