SqlConnection.Open réussit lorsque le lecteur de database est physiquement déconnecté

Je souhaite triggersr une exception lorsque la database devient indisponible (c'est-à-dire en raison de la déconnection physique du disque dur). Je m'attendais à ce que connection.Open () échoue dans cette situation, mais c'est réussi – probablement en raison de la caching. Le problème est que lorsque le logiciel tente d'écrire dans la database ultérieurement, il échoue à ce stade.

Ma question: Quelle est la meilleure façon de détecter quand la database est devenue indisponible?

J'utilise SQL Local DB, C #, .net 4.0

Selon la configuration, il ne frappe aucune table sur un Open.
Faites un simple top 1 sur une table.

Si le lecteur avec la database principale est hors, alors Open échouera probablement.

Même dans SSMS, vous voyez généralement le nom de la database même si le lecteur avec toutes les tables est éteint.