So che ci sono domande che risolvono il problema di un database bloccato nello RESTORING
stato e hanno usato quelle soluzioni per riportare manualmente il database online, ma il mio scenario è leggermente diverso.
Ho un ripristino automatico utilizzando gli script Powershell che ripristina una copia della produzione in un'istanza DEV. Gli script rimangono invariati per circa un anno e occasionalmente il processo di ripristino termina ma il database ripristinato è bloccato nello RESTORING
stato (a volte lo script funziona bene, a volte non riesce in questo modo).
Ogni volta che rieseguo manualmente il processo funziona o se ripristino manualmente il database dall'interfaccia utente di SSMS o tramite T-SQL si completa senza problemi.
Ho trovato risposte che consigliano di essere eseguite CHECKDB
sul DB ripristinato ma non è emerso nulla come causa di questo problema.
Poiché gli script di ripristino ripristinano un backup COMPLETO del database e utilizza "WITH RECOVERY"
un'opzione, sto cercando di scoprire cosa potrebbe fermare il processo di ripristino, anche se in realtà lo sto ripristinando usando "WITH RECOVERY"
.
Tutti i suggerimenti sono molto apprezzati dal momento che sono bloccato a cercare di capire perché questo accada di tanto in tanto.
Mi piacerebbe molto risolvere la causa principale del problema piuttosto che trattare i sintomi, che è di ripristinare manualmente nuovamente il DB.
Aggiornare:
Github Gist come raccomandato da @Brent - qui .
EXEC sys.xp_readerrorlog 0,1;
: cerca i messaggi durante l'operazione di ripristino.