Estou tentando configurar o espelhamento de banco de dados no SQL Server 2008R2. Fiz um backup completo e um backup transacional do meu banco de dados principal e restaurei os dois arquivos WITH NORECOVERY
.
No entanto, meu banco de dados espelho agora está travado no RECOVERING
modo e, quando clico em "iniciar espelhamento" no meu principal, ele diz que não pode se conectar.
O que estou fazendo errado?
Editar: provavelmente devo afirmar que meu banco de dados é bastante grande (o arquivo mdf tem cerca de 4,8 GB), então pode ser por isso.
Edit2: Eu também tentei fazer isso com os dois firewalls desligados, então sei que não é um problema de firewall.
Edit3: Eu executei o SQL que Mark sugeriu. Os principais resultados estão aqui: http://piersonthe.net/principal.xls e mirror estão aqui: http://piersonthe.net/mirror.xls
Vale ressaltar que recebi o seguinte erro ao executar a consulta no mirror: Msg 927, Level 14, State 2, Line 1 Database 'RHSCMSSites' not can be open. Está no meio de uma restauração.
Afinal, um dos servidores não tinha o serviço SQL Server em execução no mesmo usuário. Eu sou um idiota.
A recuperação é o estado correto para o banco de dados estar no estágio que você precisa.
Primeiro, faça o script dos pontos de extremidade no espelho e no princípio e verifique se as portas são as esperadas e se você pode fazer telnet para ambas as portas de ambos os servidores. Verifique se o estado do terminal é 'Iniciado'.
Em segundo lugar, se os pontos de extremidade forem os esperados e você tiver confirmado que a conectividade está correta, tente iniciar o espelho a partir do TSQL. A sequência (após a restauração do banco de dados e do log) deve ser:
Editar: as etapas acima não ajudam, a seguir ...
Você pode executar o seguinte script em ambos os servidores e postar a saída:
Você não deve restaurá-lo
with recovery
, isso deixa um banco de dados ativo. Para aplicar logs de transações, você precisa usarwith norecovery
(restauração) ouwith standby
(somente leitura).