Existe alguma maneira de recuperar um banco de dados SQL do modo de espera / somente leitura se o "arquivo de espera" estiver ausente?
(Vejo algumas referências chamando esse arquivo de TUF em um cenário de envio de logs, mas no meu caso, era apenas uma restauração manual e o arquivo em espera tinha uma extensão BAK.)
Executar um "RESTORE DATABASE foo WITH RECOVERY" resulta em um erro fatal:
During startup of warm standby database 'foo', its standby file
('path\filename.bak') was inaccessible to the RESTORE statement.
The operating system error was '5(Access is denied.)'. Diagnose the
operating system error, correct the problem, and retry startup.
A restauração foi feita há pouco tempo e, infelizmente, o arquivo em espera estava na pasta de backup e foi removido pela nossa rotina de limpeza de pastas. Nenhuma cópia do arquivo existe em nenhuma outra mídia. Os backups originais que foram usados para restaurar até esse ponto também desapareceram há muito tempo.
Felizmente, isso não é muito importante para nós (foi uma restauração temporária), mas não consegui encontrar outras referências úteis sobre essa questão, além de "não remover esse arquivo".
Se fosse o caso, suponha que eu poderia criar um script para o banco de dados inteiro ou usar o SSIS para copiar todos os objetos para um novo contêiner de banco de dados, pois tenho uma cópia somente leitura do banco de dados à minha frente.
Alguma maneira de corrigir esse problema? Certamente, não espero que seja capaz de voltar à "restauração" e continuar fazendo restaurações subsequentes ou qualquer coisa assim. Gostaria de forçá-lo ao modo online normal no estado atual, para que eu possa fazer isso. coisas como alterar permissões ou alterar o modo de recuperação ou fazer um novo backup completo ou algo assim.