Se me ocurre una forma (aunque seguro que no es la más elegante): investigar cuántos segundos transcurren más o menos desde que inicia Windows hasta que inicia la base de datos y al principio de tu aplicación hacer un
donde n será el número de milisegundos que deberá esperar para hacer la conexión a la base de datos.