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?

¿Fue útil?

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 ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top