Este artigo é útil tanto
para os administradores de banco de dados SQL Server que estão se
familiarizando com a replicação nativa, quanto para aqueles que já estão
trabalhando com esta tecnologia e desejam conhecer mais a fundo como tudo
funciona internamente. As informações contidas neste artigo têm como objetivo
esclarecer diversas dúvidas que surgem quando se trabalha especificamente em
ambiente gráfico, bem como expandir a visão sobre todo o funcionamento de uma
replicação transacional em si, ajudando desta forma o profissional a se tornar
apto para investigar problemas e planejar soluções com mais segurança.
Muitos profissionais costumam subestimar certas tecnologias até o momento em que se deparam com um cenário complexo já implantado em algum cliente (geralmente apresentando problemas) ou com um grande projeto que utilizará tal tecnologia como base da solução.
Para quem teve a oportunidade de trabalhar com um cenário de médio a grande porte de replicação nativa do SQL Server, sabe o quanto desafiador pode ser manter o funcionamento da mesma, seja com relação à performance ou com eventuais bugs nas tecnologias envolvidas. Uma replicação de dados se refere ao armazenamento e estratégia de cópia dos dados em locais distintos. Um de seus tipos é a replicação transacional que é indicada quando queremos que os dados sejam replicados tão logo sejam modificados.
Da mesma forma que um mecânico de automóveis precisa entender a forma com que o motor funciona e cada peça do mesmo, o administrador de banco de dados SQL Server precisa entender o funcionamento de uma replicação nativa além do ambiente gráfico, conhecendo cada “peça” da dela.
A documentação de todos os itens envolvidos em uma replicação, de toda estrutura de objetos, é extremamente extensa e está contida no TechNet, então iremos abordar de forma prática alguns itens importantes e úteis no dia a dia de um profissional que está envolvido com esta tecnologia.
Caso você nunca tenha gerado o script de uma replicação, experimente fazê-lo uma vez. Será interessante observar todo o código e tentar entender como tudo é feito, bem como em que ordem deve ser feito no futuro quando você quiser automatizar algum processo via script, por exemplo.
Para isto, no SQL Server Management Studio, expanda o treeview do servidor no Object Explorer e clique com o botão direito do mouse em Replication, selecionando o item Generate Scripts, conforme mostra a Figura 1.
Figura 1. Gerando scripts de replicação.
Conhecendo melhor os personagens
Publisher
O publicador é a instância SQL Server onde o banco de dados origem de uma replicação está hospedado. O publicador também pode atuar como distribuidor e na maioria dos casos é isso que ele é.
Um banco de dados publicado não pode ter seu nome modificado, para isto você deve primeiro remover a replicação. Há opção de gerar script de toda a replicação de uma instância, evitando assim fazer todo trabalho novamente por ambiente gráfico caso ocorra algum problema, conforme exibido na Figura 1.
Se o banco de dados publicado depender de outros, ac ...