Partilhar via


Atualização de Instâncias Espelhadas

Aplica-se a:SQL Server

Atenção

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Para alta disponibilidade, utilize grupos de disponibilidade Always On.

Importante

O espelhamento de banco de dados no SQL Server é uma tecnologia distinta do espelhamento de banco de dados do Microsoft Fabric. O espelhamento para o Fabric oferece uma melhoria no desempenho analítico, a capacidade de unificar o seu património de dados com o OneLake no Fabric e um acesso aberto aos seus dados em formato Delta Parquet.

Com o Mirroring to Microsoft Fabric, você pode replicar continuamente seu conjunto de dados existente diretamente no OneLake in Fabric, incluindo dados do SQL Server 2016+, Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure, Cosmos DB, Oracle, Snowflake e muito mais.

Ao atualizar uma instância espelhada do SQL Server para uma nova versão, para um novo service pack ou atualização cumulativa do SQL Server, ou para um novo service pack do Windows ou atualização cumulativa, pode reduzir o tempo de inatividade de cada base de dados espelhada para apenas um único failover manual realizando uma atualização gradual (ou dois failovers manuais se retornar ao primário original). Uma atualização contínua é um processo em múltiplas fases que, na sua forma mais simples, envolve atualizar a instância do SQL Server que atualmente atua como servidor de espelhamento numa sessão de espelhamento, depois falhar manualmente na base de dados espelhada, atualizar a antiga instância principal do SQL Server e retomar o espelhamento. Na prática, o processo exato dependerá do modo de funcionamento e do número e disposição da sessão de espelhamento a correr nas instâncias do SQL Server que está a atualizar.

Para informações sobre como usar espelhamento de bases de dados com envio de registos durante uma migração, descarregue este whitepaper de Espelhamento de Base de Dados e Envio de Logs.

Pré-requisitos

Antes de começar, reveja as seguintes informações importantes:

Antes de iniciar uma atualização progressiva, recomendamos que:

  1. Execute um teste prático de failover manual em pelo menos uma das suas sessões de espelhamento:

    Observação

    Para informações sobre como funciona o failover manual, consulte Troca de Papéis Durante uma Sessão de Espelhamento de Bases de Dados (SQL Server).

  2. Proteja os seus dados:

    1. Realize uma cópia de segurança completa da base de dados em todas as bases de dados principais:

      Crie um backup completo da base de dados (SQL Server).

    2. Execute o comando DBCC CHECKDB em todas as bases de dados principais.

Etapas de uma Atualização Progressiva

Os passos específicos de uma atualização contínua dependem do modo de funcionamento da configuração de espelhamento. No entanto, as fases básicas são as mesmas.

Observação

Para informações sobre os modos de operação, veja Modos de Operação de Espelhamento de Base de Dados.

A ilustração seguinte é um fluxograma que mostra as etapas básicas de uma atualização progressiva para cada modo de operação. Os procedimentos correspondentes são descritos após a ilustração.

Fluxograma que mostra os passos de uma atualização contínua

Importante

Uma instância de servidor pode estar a desempenhar diferentes funções de espelhamento (servidor principal, servidor espelho ou testemunha) em sessões de espelhamento concorrentes. Neste caso, terá de adaptar o processo básico de atualização contínua em conformidade. Para mais informações, consulte Mudança de Função Durante uma Sessão de Espelhamento de Base de Dados (SQL Server).

Observação

Em muitos casos, após a atualização contínua ser concluída, irá regressar ao servidor principal original.

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

  1. Se uma sessão de espelhamento estiver em execução em modo de alto desempenho, antes de realizar uma atualização gradual, altere o modo de funcionamento para alta segurança sem failover automático.

    Importante

    Se o servidor espelho estiver geograficamente distante do servidor principal, uma atualização progressiva pode ser inadequada.

Remover uma testemunha de uma sessão

  1. Se uma sessão de espelhamento envolver uma testemunha, recomendamos que remova a testemunha antes de realizar uma atualização gradual. Caso contrário, quando a instância do servidor de espelho está a ser atualizada, a disponibilidade da base de dados é condicionada pela testemunha que permanece conectada à instância principal do servidor. Depois de remover uma testemunha, pode atualizá-la a qualquer momento durante o processo de atualização contínua sem arriscar tempo de inatividade na base de dados.

Para realizar a atualização gradual

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

    Observação

    Uma testemunha pode ser atualizada em qualquer momento do processo de atualização contínua. Por exemplo, se uma instância de servidor for um servidor espelho na Sessão 1 e um servidor testemunha na Sessão 2, pode atualizar a instância de servidor agora.

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

    • Se alguma instância de servidor já for o servidor espelho em todas as suas sessões de espelhamento, atualize a instância do servidor para a nova versão.

    • Se todas as suas instâncias de servidor forem atualmente o servidor principal em qualquer sessão de espelhamento, selecione primeiro uma instância de servidor para atualizar. Depois, faça fail manual sobre cada uma das suas bases de dados principais e atualize essa instância do servidor.

    Após a atualização, uma instância de servidor volta automaticamente a juntar-se a cada uma das suas sessões de espelhamento.

  2. Para cada sessão de espelhamento cuja instância do servidor espelho acabou de ser atualizada, espere que a sessão se sincronize. Em seguida, ligue-se à instância principal do servidor e realize um failover manual da sessão. Durante o failover, a instância de servidor atualizada torna-se o servidor principal da sessão, e o servidor principal anterior torna-se o servidor espelho.

    O objetivo deste passo é que outra instância de servidor se torne o servidor espelho em todas as sessões de espelhamento em que seja parceiro.

    Restrições após fazer failover para uma instância de servidor atualizada.

    Após o failover de uma instância de servidor anterior para uma instância de servidor SQL Server atualizada, a sessão da base de dados é suspensa. Não poderá ser retomado até que o outro parceiro tenha sido atualizado. No entanto, o servidor principal continua a aceitar ligações e a permitir o acesso e modificações de dados na base de dados principal.

    Observação

    Estabelecer uma nova sessão de espelhamento exige que todas as instâncias do servidor estejam a correr a mesma versão do SQL Server.

  3. Após o failover, recomendamos que execute o comando DBCC CHECKDB na base de dados principal.

  4. Atualize cada instância de servidor que é agora o servidor de espelho em todas as sessões de espelhamento nas quais é parceiro. Pode ser necessário atualizar vários servidores neste momento.

    Importante

    Numa configuração complexa de espelhamento, alguma instância de servidor pode ainda ser o servidor principal original numa ou mais sessões de espelhamento. Repita os passos 2-4 para essas instâncias de servidor até que todas as instâncias envolvidas sejam atualizadas.

  5. Retomar a sessão de espelhamento.

    Observação

    O failover automático não funcionará até que a testemunha seja atualizada e adicionada novamente à sessão de espelhamento.

  6. Atualize qualquer instância de servidor restante que seja testemunha em todas as sessões de espelhamento. Depois de uma testemunha atualizada reentrar numa sessão de espelhamento, torna-se possível novamente o failover automático. Pode ser necessário atualizar vários servidores neste momento.

Devolver uma sessão ao modo de alto desempenho

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

    • No SQL Server Management Studio: Altere a opção de modo operacional para Alto desempenho (assíncrono) usando a Página de Espelhamento da caixa de diálogo Propriedades da Base de Dados .

    • No Transact-SQL: Use ALTER DATABASE para definir a segurança das transações como DESLIGADO.

Para adicionar uma testemunha novamente a uma sessão de espelhamento

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

    Devolver uma testemunha

Ver também

Atualizar para SQL Server 2016 Usando o Assistente de Instalação (Configuração)
Instale o SQL Server 2016 a partir do Prompt de Comando
ALTER DATABASE Espelhamento de Base de Dados (Transact-SQL)
CÓPIA DE SEGURANÇA (Transact-SQL)
Veja o Estado de uma Base de Dados Espelhada (SQL Server Management Studio)
Espelhamento de Base de Dados (SQL Server)
Mudança de Função Durante uma Sessão de Espelhamento de Base de Dados (SQL Server)
Forçar serviço em uma sessão de espelhamento de banco de dados (Transact-SQL)
Iniciar o Monitor de Espelhamento de Base de Dados (SQL Server Management Studio)
Modos de Operação por Espelhamento de Base de Dados