Configurei o envio de log usando o modo de espera (a opção "Desconectar usuários do banco de dados ao restaurar backups" está desmarcada).
Testei a execução do seguinte código no servidor/banco de dados secundário.
declare @a int
while 1=1
begin
select @a = count(*) from ....
end
No entanto, o código para com o seguinte erro quando o trabalho de restauração de envio de logs começa a ser executado.
O banco de dados não pode ser aberto. Está no meio de uma restauração.
Como evitar o problema?
É assim que o envio de logs deve funcionar. Você precisa de acesso exclusivo a um banco de dados para aplicar um backup de log, o que significa que seu script deve definir o banco de dados como single_user ou remover todos os usuários antes de aplicar o(s) backup(s) de log.
Algumas soluções alternativas:
Bem, a primeira coisa que eu verificaria é se o banco de dados está realmente restaurando, essa é a consulta que uso para relatar o status.