Sé que hay preguntas que resuelven el problema de una base de datos atascada en el RESTORING
estado y he usado esas soluciones para volver a poner la base de datos en línea manualmente, pero mi escenario es algo diferente.
Tengo una restauración automatizada usando scripts de Powershell que restaura una copia de producción a una instancia de DEV. Las secuencias de comandos no se modifican durante aproximadamente un año y, ocasionalmente, el proceso de restauración finaliza, pero la base de datos restaurada está atascada en el RESTORING
estado (a veces la secuencia de comandos funciona bien, a veces falla así).
Cada vez que vuelvo a ejecutar manualmente el proceso, funciona o si restauro manualmente la base de datos desde la interfaz de usuario de SSMS o mediante T-SQL, se completa sin ningún problema.
He encontrado respuestas que recomiendan ejecutar CHECKDB
en la base de datos restaurada, pero nada salió como causa de este problema.
Dado que los scripts de restauración restauran una copia de seguridad COMPLETA de la base de datos y usan una "WITH RECOVERY"
opción, estoy tratando de averiguar qué podría estar deteniendo el proceso de restauración, aunque en realidad lo estoy restaurando usando "WITH RECOVERY"
.
Cualquier sugerencia es realmente apreciada ya que estoy atascado tratando de entender por qué esto sucede de vez en cuando.
Me gustaría mucho resolver la causa raíz del problema en lugar de tratar los síntomas, que es restaurar manualmente la base de datos una vez más.
Actualizar:
Github Gist como @Brent recomienda - aquí .
EXEC sys.xp_readerrorlog 0,1;
: busque mensajes a la hora de la operación de restauración.