Por que eu devo ler este artigo:O artigo descreve as principais características do novo recurso de alta disponibilidade e recuperação de desastres do SQL Server. Fazendo comparações com as tecnologias já existentes do produto, são apresentados os novos conceitos, situações e recursos que esta nova tecnologia traz aos ambientes de bancos de dados.

Também é apresentado ao leitor quais os pré-requisitos e procedimentos a serem considerados na hora de implementar esta nova tecnologia.

O conhecimento aqui compartilhado é indicado para todos os profissionais de tecnologia que lidam direta e indiretamente com a plataforma SQL Server, seja relacionado a infraestrutura ou desenvolvimento, uma vez que manter o ambiente de banco de dados disponível e simultaneamente, extrair o máximo de funcionalidade e performance dele é essencial a qualquer empresa que busca uma vantagem tecnológica estratégica no mercado atual, independente do segmento de atuação que ela se encontra.

O always on availability groups é a próxima evolução das tecnologias de alta disponibilidade e recuperação de desastres do SQL Server.

Lançado na versão 2012, este novo recurso se baseia no espelhamento dos registros de transações escritos no transaction log (assim como feito no database mirroring) para manter em sincronia uma ou mais réplicas.

Diferente do database mirroring onde as sessões de espelhamento são criadas por banco de dados, no availability groups trabalhamos com conjuntos lógicos de bancos de dados, chamados grupos de alta disponibilidade, que são espelhados e gerenciados como uma única unidade.

Uma das características desta nova tecnologia é a possibilidade de se ter mais de um espelho para cada banco de dados (similar ao encontrado no log shipping).

No SQL Server 2012 é possível até 4 réplicas para cada grupo de alta disponibilidade, enquanto que na versão 2014, este limite já foi expandido para 8.

Adicionalmente, as réplicas podem ser usadas para operações de leitura, como extração de relatórios, e rotinas administrativas, como backups e checkdb. Este comportamento permite que você minimize o impacto deste tipo de requisição no ambiente produtivo.

Características

Múltiplas réplicas

Assim como encontramos no log shipping, esta nova funcionalidade permite que você tenha múltiplas cópias do seu banco de dados espalhadas através de servidores secundários, chamados de réplicas.

Na prática, essa capacidade permite que você tenha mais de uma máquina esperando para suportar o ambiente de produção caso o servidor principal sofra com alguma indisponibilidade. Este comportamento é ilustrado na Figura 1.

Figura 1. Múltiplas réplicas associadas a um servidor principal

Compressão do T-Log

Assim como o database mirroring, o availability groups mantém suas réplicas sincronizadas transferindo as transações efetuadas no banco de dados principal para os demais servidores.

Na prática, esta tecnologia monitora e coleta tudo que é registrado no transaction log do SQL Server, enviando estes comandos na exata sequência que ocorreram para que as réplicas possam reproduzi-los nas bases de dados afim de mantê-las sincronizadas.

Adicionalmente, o availability groups usa a mesma compressão do T-LOG usada no database mirroring para enviar as transações para as réplicas, reduzindo assim o consumo dos links de comunicação entre os servidores, uma vez que os registros do T-LOG são compactados no servidor primário, enviados às réplicas e somente lá são descompactados e aplicados no banco de dados redundante.

Espelhamento síncrono ou assíncrono

A transferência das transações registradas no T-LOG pode ser feita de forma síncrona ou assíncrona, dependendo da opção escolhida na configuração.

A primeira opção é normalmente escolhida para manter atualizadas réplicas em servidores hospedados no mesmo datacenter do servidor principal, essas bases de dados têm como principal objetivo garantir a alta disponibilidade do ambiente.

A segunda opção é mais usual para manter réplicas localizadas ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo