Come posso sapere che SQL Server è avviato e pronto per l'uso?
-
03-07-2019 - |
Domanda
Ho un'app che gira all'avvio del sistema e deve parlare con l'installazione locale di SQL Server 2005. Sto usando la classe ServiceController per aspettare che entri in " Running " stato, e la maggior parte delle volte funziona bene. Tuttavia, a volte con un avvio a freddo, la mia prima query non riesce, dicendo che non è possibile accedere all'utente corrente.
Sembra una condizione di gara, ma ho pensato che la mia chiamata WaitForStatus avrebbe dovuto risolverlo.
Esiste un modo migliore per assicurarsi che funzioni davvero? Dovrei semplicemente aggiungere un sonno extra e supporre che sia abbastanza lungo?
Soluzione
Puoi sempre utilizzare System.Data. Sql.SqlDataSourceEnumerator e verifica l'istanza locale.
Inoltre, puoi scoprire le informazioni sulla versione con l'enumeratore.
Altri suggerimenti
Potresti semplicemente catturare l'eccezione e riprovare fino a quando non funziona ...