Skip to content

Replicação do SQL Server

20 de abril de 2021

A replicação do SQL Server permite que os administradores de banco de dados distribuam dados em vários servidores em uma organização. Você pode querer implementar a replicação em sua organização por vários motivos, como:

  • Balanceamento de carga. A replicação permite que você dissemine seus dados para vários servidores e, em seguida, distribua a carga de consultas entre esses servidores.
  • Processamento offline. A replicação suporta a manipulação de dados de seu banco de dados em uma máquina que nem sempre está conectada à rede.
  • Redundância. A replicação permite que você crie um servidor de banco de dados de failover que está pronto para pegar a carga de processamento a qualquer momento.

Qualquer cenário de replicação tem dois componentes principais:

  • Editoras tem dados para oferecer a outros servidores. Um determinado esquema de replicação pode ter um ou mais editores.
  • Assinantes são servidores de banco de dados que desejam receber atualizações do Publicador quando os dados são modificados.

Não há nada que impeça um único sistema de atuar em ambas as capacidades. Na verdade, esse costuma ser o projeto de sistemas de banco de dados distribuídos em grande escala.

Suporte do SQL Server para replicação

O Microsoft SQL Server oferece suporte a três tipos de replicação de banco de dados. Este artigo fornece uma breve introdução a cada um desses modelos, enquanto artigos futuros os explorarão em mais detalhes. Eles são:

  • Replicação de instantâneo age da maneira que seu nome indica. O editor simplesmente tira um instantâneo de todo o banco de dados replicado e o compartilha com os assinantes. Claro, este é um processo que exige muito tempo e muitos recursos. Por esse motivo, a maioria dos administradores não usa a replicação de instantâneo de forma recorrente para bancos de dados que mudam com frequência. Existem dois cenários nos quais a replicação de instantâneo é comumente usada: primeiro, é usada para bancos de dados que raramente mudam. Em segundo lugar, é usado para definir uma linha de base para estabelecer a replicação entre os sistemas enquanto as atualizações futuras são propagadas usando transacional ou replicação de fusão.
  • Replicação transacional oferece uma solução mais flexível para bancos de dados que mudam regularmente. Com a replicação transacional, o agente de replicação monitora o editor quanto a alterações no banco de dados e transmite essas alterações aos assinantes. Essa transmissão pode ocorrer imediatamente ou periodicamente.
  • Replicação de fusão permite que o editor e o assinante façam alterações independentes no banco de dados. Ambas as entidades podem funcionar sem uma conexão de rede ativa. Quando eles são reconectados, o agente de replicação de mesclagem verifica as alterações em ambos os conjuntos de dados e modifica cada banco de dados de acordo. Se houver conflito de mudanças, o agente usará um algoritmo de resolução de conflito predefinido para determinar os dados apropriados. A replicação de mesclagem é comumente usada por usuários de laptop e outros que não podem estar continuamente conectados ao editor.

Cada uma dessas técnicas de replicação serve a um propósito útil e é adequada para cenários de banco de dados específicos. Se você estiver trabalhando com o SQL Server 2016, escolha sua edição com base em suas necessidades de replicação. Cada edição tem recursos diferentes no que diz respeito ao suporte de replicação:

  • Suporte ao assinante apenas: Express, Express with Tools ou Serviços Avançados e a Rede as edições oferecem recursos de replicação limitados, capazes de atuar apenas como um cliente de replicação.
  • Suporte total ao editor e ao assinante: Padrão e Empreendimento oferecem suporte total, com o Enterprise também incluindo publicação Oracle, replicação transacional ponto a ponto e replicação transacional como uma assinatura atualizável.

Como você sem dúvida já reconheceu neste ponto, os recursos de replicação do SQL Server oferecem aos administradores de banco de dados uma ferramenta poderosa para gerenciar e dimensionar bancos de dados em um ambiente corporativo.