Aplicar Cumulative Update Always On SQL Server

Hoje irei demonstrar como aplicar o cumulative update no ambiente SQL Server com Always On, estes passos foram executados em um ambiente muito grande e crítico, que funciona 24X7 sendo consumido por um sistema muito importante usado por diversos órgãos de um determinado Estado no Brasil.

Arquitetura básica do Always On:

Cenário: Servidor master de escrita: 124 cores, 2TB de memória ram, 28tb de databases, duas replicas synchronous com 124 cores, 2TB de memória ram, 28tb de databases.

Versão do SQL Server Enterprise atual: 2017

Cumulative Update a ser aplicado: 31

1 – Processo para aplicação do Cumulative Update Always On:

1.1 – Verificando o cumulative update atual do ambiente:

SELECT SERVERPROPERTY('MachineName') AS [MachineName], 
SERVERPROPERTY('ServerName') AS [ServerName], 
SERVERPROPERTY('Edition') AS [Edition],
SERVERPROPERTY('ProductLevel') AS [ProductLevel], 
SERVERPROPERTY('ProductUpdateLevel') AS [ProductUpdateLevel], 
SERVERPROPERTY('ProductVersion') AS [ProductVersion],      
SERVERPROPERTY('ProductUpdateReference') AS [ProductUpdateReference]

1.2 – Verificar se as replicas de leitura estão sincronizadas:

1.3 – Se estiver utilizando o modo Asynchronous, altere para Synchronous e o Failover Mode para Manual:

1.4 -Aplique o cumulative update na replica de leitura:

1.5 – Verifique o cumulative update aplicado:

SELECT SERVERPROPERTY('MachineName') AS [MachineName], 
SERVERPROPERTY('ServerName') AS [ServerName], 
SERVERPROPERTY('Edition') AS [Edition],
SERVERPROPERTY('ProductLevel') AS [ProductLevel], 
SERVERPROPERTY('ProductUpdateLevel') AS [ProductUpdateLevel], 
SERVERPROPERTY('ProductVersion') AS [ProductVersion],      
SERVERPROPERTY('ProductUpdateReference') AS [ProductUpdateReference]

1.6 – Aguarde ate que a replica de leitura que aplicamos o cumulative update esteja sincronizada:

1.7 – Após a sincronização, iremos fazer o failover do master para a replica de leitura:

1.8 – Aguarde ate que a replica de leitura que aplicamos o cumulative update esteja sincronizada, neste ponto tivemos um problema, a base após o failover ficou em recover por 1 hora e não mudava o status de 0% concluído, aguardamos um longo tempo e nada de sincronizar, optamos por reiniciar o serviço do SQL Server, por incrível que pareça isso resolveu o problema e o always on sincronizou o banco, fica a duvida se estávamos com um bug de produto por estar utilizando a RTM, ou só Deus sabe qual era o problema.

1.9 Aplique o cumulative update no servidor 1 que agora é o secundário para leitura:

1.10 – Aguarde ate que o always on esteja com a base sincronizada:

1.11 – Faça o failover de volta para o servidor anterior, aguarde o sincronismo do Always On, se estiver utilizando o modo Asynchronous altere de Synchronous para Asynchronous, se estiver usando o Failover Mode Automatic mude de Manual para Automatic.

Linsk da documentação:

https://learn.microsoft.com/pt-br/sql/database-engine/availability-groups/windows/upgrading-always-on-availability-group-replica-instances?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/upgrading-always-on-availability-group-replica-instances?view=sql-server-ver15
search previous next tag category expand menu location phone mail time cart zoom edit close