Replicação – Como configurar um Assinante no SQL Server

Um manual prático para tecnologia e serviços

Replicação – Como configurar um Assinante no SQL Server

This entry is part [part not set] of 4 in the series Replicação SQL Server
Tempo de leitura: 4 minutos
Rate this post

Oi, gente! 🙂

Hoje vou falar mais sobre assinantes e assinaturas. Farei um breve resumo para recapitular o que vimos até agora, mas não deixe de olhar os posts anteriores da série.

Replicação SQL Server

Quando trabalhamos com replicação seja transacional, mesclagem, snapshot ou ponto a ponto, configuramos um banco de dados de distribuição e um Publicador, ambos podem estar localizados no mesmo servidor (o que é mais comum) ou servidores distintos. Isso depende de alguns fatores como processamento, distribuidor centralizado, tipos de replicação, entre outros.
É importante se atentar às necessidades e recursos do ambiente antes de criar sua replicação. Cada um dos componentes tem particularidades que, quando bem aplicados, garantem um bom desempenho e funcionamento da ferramenta.

Assinantes

Servidor ou instância de banco de dados que recebe as alterações de uma ou mais publicações. O assinante pode enviar alterações para o Publicador e outros assinantes, dependendo do tipo de replicação escolhido.

Assinaturas

Responsável pela requisição dos dados de uma publicação e envio ao Assinante, além de definir onde e quando a execução do agente de sincronização será realizado. Há dois tipos e elas podem ser utilizados em qualquer tipo de replicação:

Assinatura Push: as alterações são enviadas do Publicador para o Assinante a partir de agendamentos ou demanda contínua, os dados são atualizados com frequência. O agente é executado no Distribuidor, isso pode ocasionar problemas de desempenho devido a sobrecargas no processador se o distribuidor for local. É mais utilizada em Replicações de Snapshot e Transacional.

Assinatura Pull: o Assinante verifica no Distribuidor se há alterações e atualiza as informações. Os agendamentos são programados pelo usuário. O agente é executado no Assinante. Mais utilizada em Replicação de Mesclagem ou quando são criadas muitas assinaturas e a demanda de recursos é alta.

Na Replicação de Mesclagem existem outras duas condições para assinaturas: cliente e servidor.
Na assinatura de servidor o usuário define a prioridade de resolução dos conflitos, é possível republicar dados para outros assinantes e na indisponibilidade do Publicador principal, serve como parceiro alternativo para sincronização de uma assinatura.
Para assinatura de cliente não há prioridade quando ocorre um conflito, o primeiro assinante tem prioridade ao enviar uma alteração ao Publicador.

Criando a Assinatura

Conecte-se à instância do SQL Server, expanda a aba ‘Replication’ e depois ‘Local Publications’ clique com o botão direito em cima da sua publicação e selecione ‘New Subscriptions’:

Irá abrir o assistente da Assinatura, clique em ‘Next’:

Escolha a Publicação onde irá criar sua assinatura, no meu caso ‘PUB_TST’. Clique em ‘Next’:

Utilizarei a Assinatura Push para execução do agente no Distribuidor, defina a que melhor se encaixa no seu ambiente. Clique em ‘Next’:

É possível configurar uma instância como Distribuidor, Publicador e Assinante. Não é indicado, mas por se tratar de um ambiente de testes configurarei dessa forma. Para adicionar outro Assinante, clique em ‘Add SQL Server Subscriber’ e passe as informações de autenticação. Selecione o banco de dados e clique em ‘Next’:

Especifique a conexão para o Agente de Mesclagem. Clique nos pontinhos, destacado na imagem:

Informe os parâmetros de conexão e clique em ‘OK’ e na janela anterior em ‘Next’:

Precisamos definir a agenda de sincronização. Conforme falado anteriormente, é possível fazer um agendamento, executar de forma contínua ou sincronizar sob demanda para cada Assinante. Selecione a melhor opção para o seu ambiente e clique em ‘Next’:

As assinaturas precisam ser inicializadas e durante o processo a conexão entre o Publicador e Assinante deve ser ininterrupta. A inicialização leva um tempo, pode ser imediata ou na primeira sincronização. Escolha a melhor opção para o seu ambiente e clique em ‘Next’:

Conforme explicado, para replicação de mesclagem devemos especificar o tipo de assinatura como ‘Cliente’ ou ‘Servidor’. Como meu Assinante não irá republicar dados, escolhi ‘Client’. Após definir a melhor opção para o seu ambiente, clique em ‘Next’:

Podemos criar a Assinatura pelo assistente ou gerar um script com todas as etapas. Vou anexar o script caso queira analisar. Clique em ‘Next’:

Verifique as informações da sua Assinatura e após confirma-las clique em ‘Finish’:

Assinatura criada!

Para confirmar vá em ‘Replication’, expanda ‘Local Publications’ e sua publicação. Como a assinatura é local, podemos vê-la expandindo ‘Local Subscriptions’ também:

É isso pessoal! 🙂
Quer saber como administrar, monitorar e tratar erros em Replicação? Continue acompanhando a série!
Caso tenha alguma observação ou dúvida, só entrar em contato!
Até breve!

Referências:

https://docs.microsoft.com/pt-br/sql/relational-databases/replication/sql-server-replication?view=sql-server-2017

https://docs.microsoft.com/pt-br/sql/relational-databases/replication/tutorial-preparing-the-server-for-replication?view=sql-server-2017

https://docs.microsoft.com/pt-br/sql/relational-databases/replication/replication-backward-compatibility?view=sql-server-2017

Series Navigation

 

Nenhum comentário

Deixe uma resposta