Os bancos de dados espelhados são desconectados depois que você reinicia o espelho de banco de dados no SQL Server
Este artigo ajuda você a resolve o problema em que bancos de dados espelhados são deixados em um estado Desconectado ou em Recuperação.
Versão original do produto: SQL Server
Número de KB original: 2490051
Sintoma
Considere o seguinte cenário:
Você tem um computador que está executando uma instância secundária do Microsoft SQL Server em um banco de dados de dois servidores espelho.
O uso da CPU atinge 100% no computador e você não pode parar o serviço de SQL Server usando SQL Server Ferramentas de Gerenciamento.
Você encerra o processo da SQL Server instância secundária usando o Gerenciador de Tarefas.
Reinicie a instância secundária do SQL Server.
Nesse cenário, todos os bancos de dados espelhados estão em um estado Desconectado ou em Recuperação . Além disso, uma mensagem de erro que se assemelha ao seguinte é registrada no log de erros SQL Server para cada banco de dados:
Ignorando a recuperação do banco de dados 'Nome do Banco de Dados' porque ele é marcado como um banco de dados de espelhamento de banco de dados inacessível. Existe um problema com a sessão de espelhamento. A sessão não tem quorum ou os links de comunicação são quebrados devido a problemas com links, configuração de ponto de extremidade ou permissões (para a conta do servidor ou certificado de segurança). Para obter acesso ao banco de dados, descubra o que mudou na configuração da sessão e desfaça a alteração.
Motivo
Esse problema ocorre devido a problemas nos pontos de extremidade de espelhamento de banco de dados SQL Server.
Resolução
Para resolve esse problema, use os métodos a seguir. Se o primeiro método não resolve o problema, use o segundo método.
Método 1
Recicle o ponto de extremidade no banco de dados espelho. Para fazer isso, siga estas etapas:
No banco de dados principal, execute o seguinte script SQL para parar o ponto de extremidade:
ALTER ENDPOINT <Endpoint Name> STATE=STOPPED
Execute o seguinte script SQL para reiniciar o ponto de extremidade:
ALTER ENDPOINT <Endpoint Name> STATE=STARTED
Observação
Se a comunicação entre os pontos de extremidade não for reiniciada após a execução dos scripts, execute os scripts no banco de dados espelho. No entanto, o banco de dados pode inserir um estado suspenso depois que você fizer isso. Se esse problema ocorrer, execute o seguinte script SQL:
ALTER DATABASE <Database Name> SET PARTNER RESUME
Método 2
Exclua e crie novamente os pontos de extremidade de espelhamento de banco de dados em ambos os servidores.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários