none
Replicação do SQl Server 2005 para o Mysql RRS feed

  • Pergunta

  • Olá a todos!!!

    Pessoal, podem me ajudar??? Estou montando uma replicação de uma servidor com SQL Server 2005 Standard para o Mysql. No servidor com o SQL Server Standard 2005 que é o Publicador/Distribuidor, instalei o driver do Mysql, criei um DSN (ODBC) usando este driver, apontando para o servidor com o Mysql e testei  aconexão, tudo funcionando certinho até aí. Quando eu vou criar o "Subscriber", na tela New Subscription Wizard, escolho a opção "Add-Non SQL Server Subscriber" porque quero escolher outra fonte de dados que não é do SQL Server, mas sim, a que eu criei para o Mysql via ODBC. Quando a janela "Add-Non SQL Server Subscriber" é aberta, só aparecem 02 tipos de conexões para criar o Subscriber: Oracle (Oracle Provider OLE DB) e IMBM DB2 (Microsoft OLE DB Provider for DB2) e não aparece para eu escolher uma fonte ODBC. Alguém tem alguma dica, ou se estou equivocado na forma da criação desta replicação. Desde já agradeço pela costumeira ajuda de todos.

    []´s

    PH

    segunda-feira, 6 de abril de 2009 16:36

Respostas

  • Caro,

     Eu faço isso via linked server. Funciona bem.  Mas eu criei um job de tempos em tempos, para efetuar a replicação entre os bancos.  Usando a openquery a performnace não ficou prejudicada...

    Abraços
    Gilberto Neto


    Gilberto Neto
    • Marcado como Resposta phscuritiba quinta-feira, 16 de abril de 2009 01:34
    quinta-feira, 9 de abril de 2009 10:44

Todas as Respostas

  • PHSCuritiba,


    Se não estou enganado, o SQL Server 2005 não tem suporte a replicação de dados com o MySQL!!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 6 de abril de 2009 17:45
    Moderador
  • Olá Junior,

    mas, no SQL Server 2000 tinha, inclusive encontrei o artigo de replicação do SQL 2000 para o Mysql. Será que tiraram isso no 2005???

    []´s

    PH.
    segunda-feira, 6 de abril de 2009 17:48
  • PHSCuritiba,

    Realmente no 2000 tinha este suporte, mas no 2005 eu particularmente não encontrei esta informação.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 6 de abril de 2009 18:06
    Moderador
  • Boa Tarde,

    Conforme explicado pelo Jr. o SQL Server 2005 não tem suporte a replicação para outros SGBDs que não o DB2 e o ORACLE. No SQL Server 2000 era possível replicar para qualquer outra fonte e isso era um constante problema, pois, a SQL não é padronizada e fatalmente alguns SGBDs acabavam por gerar problemas.

    Você terá que procurar outra alternativa ou efetuar o downgrade.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte I
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!516.entry


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 6 de abril de 2009 19:58
  • Obrigado pelo esclarecimento Junior e Gustavo, vocês conhecem alguma outra alternativa???

    []´s

    PH.
    segunda-feira, 6 de abril de 2009 20:00
  • Boa Tarde,

    A menos que você pense em alguma ferramenta proprietária, você poderia pensar em duas alternativas

    Envio de dados Síncrono
    Nesse caso, crie uma trigger em cada tabela para gravar o dado diretamente no MySQL. Evidente que o desempenho irá cair e que se o MySQL estiver fora a trigger não completa gerando indisponibilidade.

    Envio de dados Assíncrono
    Nesse caso, use o SSIS periodicamente para replicar os dados para o MySQL

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte I
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!516.entry


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 6 de abril de 2009 20:23
  • Boa Tarde,

    Gostaria de retificar o comentário "A SQL não é padronizada". Ela é padronizada, mas eventualmente extensões proprietárias podem dificultar o envio do comando para outro banco de dados.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Como realizar cálculos com horas no SQL Server – Parte I
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!516.entry


    Classifique as respostas. O seu feedback é imprescindível
    segunda-feira, 6 de abril de 2009 20:24
  • PHSCuritiba,

    Já pensou em criar uma solução para exportar os dados do SQL Server para arquivo txt e depois importar para o MySQL?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 7 de abril de 2009 11:31
    Moderador
  • Caro,

     Eu faço isso via linked server. Funciona bem.  Mas eu criei um job de tempos em tempos, para efetuar a replicação entre os bancos.  Usando a openquery a performnace não ficou prejudicada...

    Abraços
    Gilberto Neto


    Gilberto Neto
    • Marcado como Resposta phscuritiba quinta-feira, 16 de abril de 2009 01:34
    quinta-feira, 9 de abril de 2009 10:44
  • Caros,

    abrigado pelas orientações. Gilberto, obrigado pela dica.

    []´s

    Paulo Henrique.
    • Editado phscuritiba quarta-feira, 22 de abril de 2009 15:22 Erro
    quinta-feira, 16 de abril de 2009 01:46