Partilhar via


Instalar um Service Pack em um sistema com tempo de inatividade mínimo para bancos de dados espelhados

Este tópico descreve como minimizar a indisponibilidade de bancos de dados espelhados ao instalar pacotes de serviço e correções. Esse processo envolve a atualização sequencial das instâncias do SQL Server 2014 que estão participando do espelhamento de banco de dados. Essa forma de atualização, que é conhecida como atualização gradual, reduz o tempo de inatividade para apenas um único "failover". Observe que, para sessões de modo de alto desempenho em que o servidor espelho está geograficamente distante do servidor principal, uma atualização sem interrupção pode ser inadequada.

Uma atualização sem interrupção é um processo de vários estágios que consiste nos seguintes estágios:

  • Proteção de seus dados.

  • Se a sessão incluir uma testemunha, recomendamos que você remova a testemunha. Caso contrário, quando a instância do servidor espelho está sendo atualizada, a disponibilidade do banco de dados depende da testemunha que permanece conectada à instância do servidor principal. Depois de remover uma testemunha, você pode atualizá-la a qualquer momento durante o processo de atualização sem arriscar o tempo de inatividade do banco de dados.

  • Se uma sessão estiver em execução no modo de alto desempenho, altere o modo de operação para o modo de alta segurança.

  • Atualize cada instância de servidor envolvida no espelhamento de banco de dados. Uma atualização contínua envolve atualizar a instância do servidor que atualmente é o servidor espelho, executar o failover manual de cada um de seus bancos de dados espelhados e atualizar a instância do servidor que inicialmente era o servidor principal (e agora é o novo servidor espelho). Neste ponto, você terá que retomar o espelhamento.

    Observação

    Antes de iniciar uma atualização gradual, recomendamos que você execute uma simulação de failover manual em pelo menos uma de suas sessões de espelhamento.

  • Reverta para o modo de alto desempenho, se for necessário.

  • Retorne a testemunha para a sessão de espelhamento, se for necessário.

Os procedimentos para esses estágios são descritos aqui.

Importante

Uma instância do servidor pode estar executando diferentes funções de espelhamento (servidor principal, servidor espelho ou testemunha) nas sessões de espelhamento simultâneas. Nesse caso, você precisará adaptar o processo básico de atualização sem interrupção adequadamente.

Para proteger seus dados antes de uma atualização (uma prática recomendada)

  1. Execute um backup de banco de dados completo em cada banco de dados principal.

    Para fazer backup de um banco de dados

  2. Execute o comando DBCC CHECKDB em todos os bancos de dados principais.

Para remover uma testemunha de uma sessão

  1. Se uma sessão de espelhamento envolver uma testemunha, recomendamos que você remova a testemunha antes de executar uma atualização gradativa.

    Para remover a testemunha

Para alterar uma sessão em modo de alto desempenho para modo de segurança alta

  1. Se uma sessão de espelhamento estiver em execução no modo de alto desempenho, antes de executar uma atualização gradual, altere o modo operacional para alta segurança sem failover automático. Use um dos seguintes métodos:

Para executar a atualização sem interrupção

  1. Para minimizar o tempo de inatividade, recomendamos o seguinte: inicie a atualização sem interrupção atualizando qualquer parceiro de espelhamento que atualmente seja o servidor espelho em todas as sessões de espelhamento. Pode ser necessário atualizar várias instâncias do servidor neste momento.

    Observação

    Uma testemunha pode ser atualizada a qualquer momento no processo de atualização sem interrupção. Por exemplo, se uma instância de servidor for um servidor espelho na Sessão 1 e for uma testemunha na Sessão 2, você poderá atualizar a instância do servidor agora.

    A instância do servidor a ser atualizada primeiro depende da configuração atual das sessões de espelhamento, da seguinte maneira:

    • Se qualquer instância de servidor já for o servidor espelho em todas as sessões de espelhamento, instale o service pack ou o hotfix nessa instância do servidor.

    • Se todas as instâncias do servidor forem atualmente o servidor principal em qualquer sessão de espelhamento, selecione uma instância de servidor para atualizar primeiro. Em seguida, faça failover manualmente de cada um de seus bancos de dados principais e atualize essa instância de servidor instalando o service pack ou o hotfix.

    Depois de ser atualizado, uma instância de servidor reingressa automaticamente em cada uma de suas sessões de espelhamento.

    Para executar um failover manual

    Para obter informações sobre como funciona o failover manual, confira Troca de função durante uma sessão de espelhamento de banco de dados (SQL Server).

  2. Para cada sessão de espelhamento cuja instância do servidor espelho acabou de ser atualizada, aguarde até que a sessão seja sincronizada. Depois, conecte-se à instância do servidor principal e execute o failover manual na sessão. No failover, a instância de servidor atualizada torna-se o servidor principal dessa sessão e o servidor principal anterior se torna o servidor espelho.

    O objetivo dessa etapa é que outra instância do servidor torne-se o servidor espelho em cada sessão de espelhamento na qual é um parceiro.

  3. Depois de executar o failover, recomendamos a execução do comando DBCC CHECKDB no banco de dados principal.

  4. Instale o service pack ou o hotfix em cada instância de servidor que agora é o servidor espelho em todas as sessões de espelhamento nas quais ele é um parceiro. Pode necessário atualizar vários servidores nesse momento.

    Importante

    Em uma configuração de espelhamento complexa, algumas instâncias do servidor podem ainda ser o servidor principal original em uma ou mais sessões de espelhamento. Repita as etapas 2 a 4 para essas instâncias de servidor até que todas as instâncias envolvidas sejam atualizadas.

  5. Continue a sessão de espelhamento.

    Observação

    O failover automático não funcionará até que a testemunha tenha sido atualizada.

  6. Instale os service packs ou hotfixes em qualquer instância de servidor restante que atue como testemunha em todas as suas sessões de espelhamento. Depois que uma testemunha com atualização participa novamente de uma sessão de espelhamento, o failover automático volta a ser possível. Pode necessário atualizar vários servidores nesse momento.

Para retornar a uma sessão em modo de alto desempenho

  1. Opcionalmente, retorne ao modo de alto desempenho usando um dos seguintes métodos:

    • Em SQL Server Management Studio: altere a opção Modo de operação para Alto desempenho (assíncrono) usando a página Espelhamento da caixa de diálogo Propriedades do Banco de Dados .

    • Em Transact-SQL: use ALTER DATABASE para definir a segurança da transação como OFF.

Para retornar uma testemunha a uma sessão de espelhamento

  1. Opcionalmente, em modo de segurança alta, restabeleça a testemunha para cada sessão de espelhamento.

    Para restabelecer a testemunha

Consulte Também

espelhamento de banco de dados ALTER DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
Espelhamento de banco de dados (SQL Server)
Modos de operação de espelhamento de banco de dados
Troca de função durante uma sessão de espelhamento de banco de dados (SQL Server)
Iniciar o Monitor de Espelhamento de Banco de Dados (SQL Server Management Studio)
Exibir o estado de um banco de dados espelho (SQL Server Management Studio)