Replicação do SQL Server para o MySQL: Parte 1


Olá pessoal. Neste artigo eu apresento os passos necessários para realizar uma replicação de dados entre o SQL Server e o MySQL. Com esta replicação, podemos utilizar as duas tecnologias em conjunto, proporcionando uma alternativa para ambientes heterogêneos que requerem alta disponibilidade.

Antes de começar a mostrar os passos necessários, é preciso indicar como esta replicação funcionará. A replicação envolverá o SQL Server 2000 (edição standard) com o service pack 4, sendo executado em um servidor com o Windows 2003, com o service pack 1. O endereço I.P. deste servidor foi configurado como 192.168.1.3 e o nome deste servidor é PICHILIANI.

A versão do MySQL utilizado nesta replicação é a versão 5.0.21-standard-log, sendo executado em um servidor Linux Slackware 10.2, com o kernel 2.4.31. O endereço I.P. deste servidor foi configurado como 192.168.1.5 e o nome do servidor é darkstar.

Também é necessário utilizar um driver ODBC no Windows para que ele se conecte ao Linux. Para montar a replicação utilizei o driver chamado MySQL-Conector/ODBC versão 3.51.12, que é livre e pode ser baixado a partir do link http://dev.mysql.com/downloads/connector/odbc/3.51.html

A replicação funcionará da seguinte forma: o SQL Server conterá uma tabela simples e replicará estes dados na replicação do tipo transacional. Neste tipo de replicação o SQL Server assumirá o papel de Publicador e Distribuidor, ou seja, ele será responsável por enviar os dados para quem quiser recebê-los. O MySQL assumirá o papel de Assinante, recebendo os dados que vem do SQL Server. É importante lembrar que o MySQL, agindo como um assinante heterogêneo, apenas receberá os dados e não poderá modificá-los, pois caso isso aconteça a replicação deixará de funcionar. A latência de replicação, ou seja, o tempo decorrido entre a modificação/inserção/deleção de dados no SQL Server e a sua propagação para o MySQL, será o mínimo possível.

De acordo com a especificação da replicação descrita acima, vamos aos passos necessários para configurá-la.

Passo 1: Configuração do Publicador

O primeiro passo é configurar o SQL Server como Publicador. Para isso, abra o Enterprise Manager e se conecte ao SQL Server, que no meu caso se chama PICHILIANI. Em seguida, cliquem no menu Tools e escolham a opção Wizards, selecionando o assistente Configure Publishing and Distributor Wizard, como a Figura 1.1 mostra.
replicacao_sql_server_mysql_01
Figura 1.1. Iniciando o assistente para a criação da Publicação.

Este assistente possui várias telas para auxiliar a configuração do Publicador. A primeira delas apresenta uma janela de boas vindas, que devemos apenas clicar em Avançar. A segunda janela pergunta quem será o distribuidor. Neste exemplo o servidor Pichiliani será o próprio Distribuidor, por isso, a primeira opção deve ser marcada, conforme a Figura 1.2. Dependendo da conta que estiver sendo utilizada para o serviço SQL Server e o SQL Server Agent pode ser que uma mensagem do SQL Server seja apresentada. Basta ignorar esta mensagem, pois neste exemplo não precisamos da mesma conta de usuário para o serviço SQL Server e o SQL Server Agent.

replicacao_sql_server_mysql_02
Figura 1.2. Configuração do Distribuidor.

O próximo passo do assistente indica qual será a pasta a ser utilizada para a colocação dos arquivos necessários para a replicação. Notem que esta pasta contém um compartilhamento de sistema (C$). Para o nosso exemplo, basta deixar o local padrão e clicar em avançar, como a Figura 1.3 mostra. Isso que fará com que o SQL Server emita um aviso indicando que o endereço contém um compartilhamento de sistema. Basta clicar no botão YES nesta mensagem para manter o diretório padrão, pois na replicação para o MySQL este diretório não será utilizado.

replicacao_sql_server_mysql_03
Figura 1.3. Configuração do diretório padrão.

A próxima tela do assistente permite a configuração de mais alguns detalhes do Publicador. Basta escolher a opção No, use the following default settings e clicar em avançar, como a Figura 1.4 mostra.

replicacao_sql_server_mysql_04
Figura 1.4. Tela de configurações avançadas do Publicador e Distribuidor.

A próxima tela apenas apresenta o final do assistente de publicação. Ao clicar no botão Finish o SQL Server automaticamente começa a realizar as configurações para tornar o servidor um Publicador/Distribuidor, apresentada na Figura 1.5.

replicacao_sql_server_mysql_05
Figura 1.5. Realizando as configurações de Publicação.

Com isso terminamos o primeiro passo para a configuração da replicação. Pode-se notar pelo Enterprise Manager que um novo ícone foi adicionado na estrutura da árvore: o Replication Monitor, que será visto nos próximos passos da replicação.

Na próxima parte veremos como criar um banco de dados e inserir as informações que serão replicadas.

Um grande abraço e até a próxima pessoal!

  1. #1 por cintiasp - 7 de maio de 2010 em 09:14

    Muito legal issso, agora mais legal ainda seria uma vídeo aula.

(não será publicado)
  1. Sem citações ainda.