Estou executando o MSSQL Server 11.0.2100 (SQL Server 2012) e toda vez que reinicio o MSSQLSERVER service
principal ou no espelho, o espelho do banco de dados é interrompido e o banco de dados é colocado em In Recovery
modo na instância SQL que foi reiniciada.
Não tenho problemas em configurar um banco de dados espelhado e posso fazer failover sem problemas entre o principal ou o espelho, mas sempre que reinicio tudo MSSQLSERVER service
quebra.
Depois que o banco de dados é definido para In Recovery
o modo, é impossível retirá-lo. A única opção é excluir ( drop
) o banco de dados.
A execução Alter Database TestDB SET PARTNER OFF
gera o seguinte erro:
Msg 945, Nível 14, Estado 2, Linha 1
O banco de dados 'TestDB' não pode ser aberto devido a arquivos inacessíveis ou memória ou espaço em disco insuficiente. Consulte o log de erros do SQL Server para obter detalhes.
A execução Restore Database TestDB WITH RECOVERY
gera o seguinte erro:
Msg 3104, Nível 16, Estado 1, Linha 1
RESTORE não pode operar no banco de dados 'TestDB' porque ele está configurado para espelhamento de banco de dados ou ingressou em um grupo de disponibilidade. Se você pretende restaurar o banco de dados, use ALTER DATABASE para remover o espelhamento ou para remover o banco de dados de seu grupo de disponibilidade. Msg 3013, Nível 16, Estado 1, Linha 1 RESTORE DATABASE está sendo encerrado de forma anormal.*
O espelhamento do banco de dados foi interrompido em 11.0.2100 ou tenho algum tipo de problema de permissão?
Responder1
Depois de instalar o 10.50.4000 (SQL Server 2008 R2 + Service Pack 2) no principal e no espelho e configurá-lo exatamente como no 11.0.2100, agora posso confirmar que há alguns problemas sérios com o espelhamento de banco de dados no 11.0.2100. O espelhamento de banco de dados simplesmente não funciona na versão 11.0.2100.
Executando 10.50.4000 tudo funciona perfeitamente e consigo reiniciar o serviço MSSQLSERVER sem problemas.
Lição aprendida: nunca use uma versão do SQL Server onde não haja nenhum service pack lançado.