Oggi, dopo un'interruzione di corrente, un database (con Recovery: completo) mostra "In Recovery" in SSMS. Così:
myDatabase (In recovery) (stato del database: recovery, Shutdown)
Al termine, nel "processo di ripristino" il database mostra il nome myDatabase senza "(In recovery)". Ho pensato che il problema fosse risolto, ma non lo era.
Quando ho avviato l'applicazione che utilizza quel database, il testo aggiuntivo "(In recovery)" appare di nuovo accanto al nome del mio database.
Ho aspettato fino al termine del "processo di recupero", quindi ho portato il database offline e lo ho riportato online.
Ho riavviato il server, riavviato il computer e quando la mia applicazione era in esecuzione, viene visualizzato nuovamente il testo aggiuntivo. Nei log di SQL Server il messaggio "Avvio del database 'myDatabase'" appare alcune volte. Sembra che il database funzioni perché posso inserire dati, ma lo stato mostra che succede qualcosa.
Il registro del server non mostra nulla di interessante. L'unica cosa anomala è che ho 30 voci di "Avvio del database 'myDatabase'".
So che quando il server si avvia ogni database passa attraverso il recupero prima che sia pronto per l'uso. Ma nel mio caso, il database diventa online, quindi mostra "myDatabase (In recovery)". Se chiudo l'applicazione, il database passa a Status: Normal. Questo mi sta facendo impazzire.
Ho persino installato una nuova istanza di SQL Server e ho inserito il vecchio database "myDatabase". Il problema si verifica ancora.
Quando eseguo questa query:
SELECT databasepropertyex('nyDatabase', 'STATUS')
Mostra recupero, online, sospetto e ritorno a online, quindi recupero e così via.