Sei que existem perguntas que resolvem o problema de um banco de dados ficar parado no RESTORING
estado e usaram essas soluções para colocar manualmente o banco de dados on-line novamente, mas meu cenário é um pouco diferente.
Tenho uma restauração automatizada usando scripts do Powershell que restaura uma cópia da produção em uma instância de DEV. Os scripts permanecem inalterados por cerca de um ano e, ocasionalmente, o processo de restauração termina, mas o banco de dados restaurado fica parado no RESTORING
estado (às vezes o script funciona bem, às vezes falha dessa forma).
Toda vez, se eu reexecutar manualmente o processo, ele funciona ou se eu restauro manualmente o banco de dados da interface do usuário do SSMS ou através do T-SQL, ele é concluído sem problemas.
Encontrei respostas recomendadas para executar CHECKDB
no banco de dados restaurado, mas nada saiu como causa para esse problema.
Como os scripts de restauração restauram um backup COMPLETO do banco de dados e usam uma "WITH RECOVERY"
opção, estou tentando descobrir o que pode estar parando o processo de restauração, embora eu esteja realmente restaurando-o usando "WITH RECOVERY"
.
Todas as sugestões são realmente apreciadas, pois estou tentando entender por que isso está acontecendo de tempos em tempos.
Eu gostaria muito de resolver a causa raiz do problema, em vez de tratar os sintomas, que é restaurar manualmente o banco de dados mais uma vez.
Atualizar:
Github Gist como @Brent recomendado - aqui .
EXEC sys.xp_readerrorlog 0,1;
- procure mensagens durante a operação de restauração.