¿Cómo puedo saber que SQL Server está iniciado y listo para usar?
-
03-07-2019 - |
Pregunta
Tengo una aplicación que se ejecuta en el inicio del sistema que necesita hablar con la instalación local de SQL Server 2005. Estoy usando la clase ServiceController para esperar a que ingrese a " En ejecución " Estado, y la mayoría de las veces esto funciona bien. Sin embargo, a veces en un arranque en frío, mi primera consulta falla y dice que no pudo iniciar sesión en el usuario actual.
Parece una condición de carrera, pero pensé que mi llamada WaitForStatus debía resolverlo.
¿Hay una mejor manera de asegurarse de que realmente se está ejecutando? ¿Debo lanzar un sueño adicional y asumir que es lo suficientemente largo?
Solución
Siempre puede usar the System.Data. Sql.SqlDataSourceEnumerator y busque la instancia local.
Además, también puede descubrir la información de la versión con el enumerador.
Otros consejos
Puede capturar la excepción y volver a intentarlo hasta que funcione ...