A replicação do SQL Server permite que os administradores de bancos de dados distribuam dados por vários servidores em toda a 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 distribua a carga da consulta entre esses servidores.
- Processamento off-line. A replicação suporta a manipulação de dados do 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 pronto para receber a carga de processamento imediatamente.
Qualquer cenário de replicação possui dois componentes principais:
- Publishers ter dados para oferecer a outros servidores. Um determinado esquema de replicação pode ter um ou mais editores.
- Inscritos 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 que um único sistema atue nessas duas capacidades. Na verdade, esse é frequentemente o projeto de sistemas de bancos de dados distribuídos em larga escala.
Suporte do SQL Server para replicação
O Microsoft SQL Server suporta três tipos de replicação de banco de dados. Este artigo fornece uma breve introdução a cada um desses modelos, enquanto futuros artigos os explorarão com mais detalhes. Eles são:
- Replicação de instantâneo age da maneira que seu nome implica. O publicador simplesmente tira um instantâneo de todo o banco de dados replicado e o compartilha com os assinantes. Naturalmente, este é um processo muito demorado e com muitos recursos. Por esse motivo, a maioria dos administradores não usa a replicação de snapshots de maneira recorrente para bancos de dados que mudam com frequência. Há dois cenários nos quais a replicação de instantâneos é usada com frequência: primeiro, ela é usada para bancos de dados que raramente são alterados. Em segundo lugar, ele é usado para definir uma linha de base para estabelecer a replicação entre os sistemas, enquanto futuras atualizações são propagadas usando transacional ou replicação de mesclagem .
- 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 em busca de alterações no banco de dados e transmite essas alterações aos assinantes. Essa transmissão pode ocorrer imediatamente ou periodicamente.
- Mesclar replicação permite que o editor e o assinante façam alterações independentemente 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 nos dois conjuntos de dados e modifica cada banco de dados de acordo. Se as alterações entrarem em conflito, 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 laptops e outros que não podem ser conectados continuamente ao editor.
Cada uma dessas técnicas de replicação atende a um propósito útil e é adequada para cenários de bancos de dados específicos.
Se você estiver trabalhando com o SQL Server 2016, escolha sua edição com base nas suas necessidades de replicação. Cada edição tem recursos diferentes quando se trata de suporte à replicação:
- Somente suporte ao assinante: Expressar,Expressar com ferramentas 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 completo para editores e assinantes: Padrão e Empreendimento oferecer suporte completo, com o Enterprise incluindo também a publicação da Oracle, a replicação transacional ponto a ponto e a replicação transacional como uma assinatura atualizável.
Como você já reconheceu, até o momento, 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.