none
Criar linked server do SQL 2012 para consultar o SQL 2000 RRS feed

  • Pergunta

  • Estou migrando o Banco do ERP da Empresa para SQL Server 2012 e tenho diversos bancos legados em SQL 2000 ou 2008 com nivel de compatibilidade 80. 

    O problema é que alguns servidores não permitem que o linked server seja criado dá o erro:


    Cannot write property UseRemoteCollation.This property is not available on SQL Server 7.0. (SqlManagerUI)

    Já tentei de todas as maneira e não dá certo eu vi que existe incompatibilidade do drive SQLNCLI11 com o SQL 2000, mas o servidor é 2008 e consigo criar em outros servidores 2008 com o banco em Nivel de Compatibilidade 80, somente esse servidor está dando esse erro e não encontro a diferença entre os dois servidores, será que alguém tem alguma solução que não envolva instalar sp porque os servidores são de produção.

    Att.,

    quarta-feira, 16 de julho de 2014 20:06

Respostas

  • Robson,

    Este problema é antigo e já foi indicado para correção no MS Connect mas foi definido pela equipe de desenvolvimento como não prioritário e não será resolvido. Veja no link abaixo:

    http://connect.microsoft.com/SQLServer/feedback/details/731869/using-sqlncli10-to-create-a-linked-server-to-sql-server-2000-causes-a-fault

    Como não tenho nenhum SQL Server 2000 para testar não tenho como verificar para você, mas nesta mesma página você irá encontrar algumas sugestões de soluções alternativas.

    Também encontrei muitas pessoas indicando criar um ODBC ou arquivo DSN, para obter a string criada e então criar o linked server. Veja o exemplo deste post:

    http://sqlwithmanoj.wordpress.com/2012/12/10/sql-server-2012-does-not-support-linked-server-to-sql-server-2000-workaround/

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 23 de julho de 2014 17:30
    Moderador
  • Robson,

    A sugestão do Roberto é a mais adequada criar um vínculo de comunicação através do ODBC do Windows.

    Mas eu também já tive esta necessidade de migrar uma base de dados do SQL Server 2000 para o 2012, o que fiz foi migrar primeiro para o 2008, posteriormente alterei o nível de compatibilidade para 1000 e depois migrei para o 2012.

    Funcionou perfeitamente, tente este caminho.

    Por padrão os níveis de compatibilidade entre versões do SQL Server são limitados ao número de 3 versões anterior a qual você esta utlizando, ou seja, o nível de compatibilidade do SQL Server 2012 é somente até a versão 2005.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 24 de julho de 2014 15:55

Todas as Respostas

  • Robson,

         A mensagem indica que você tem um problema de incompatibilidade com o SQL 2012 e o SQL 7.0. Por acaso a sua base está utilizando um nível de compatibilidade anterior ao SQL 2000?

         Solução, crie um ODBC.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    segunda-feira, 21 de julho de 2014 23:02
    Moderador
  • Robson,

    Este problema é antigo e já foi indicado para correção no MS Connect mas foi definido pela equipe de desenvolvimento como não prioritário e não será resolvido. Veja no link abaixo:

    http://connect.microsoft.com/SQLServer/feedback/details/731869/using-sqlncli10-to-create-a-linked-server-to-sql-server-2000-causes-a-fault

    Como não tenho nenhum SQL Server 2000 para testar não tenho como verificar para você, mas nesta mesma página você irá encontrar algumas sugestões de soluções alternativas.

    Também encontrei muitas pessoas indicando criar um ODBC ou arquivo DSN, para obter a string criada e então criar o linked server. Veja o exemplo deste post:

    http://sqlwithmanoj.wordpress.com/2012/12/10/sql-server-2012-does-not-support-linked-server-to-sql-server-2000-workaround/

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 23 de julho de 2014 17:30
    Moderador
  • Robson,

    A sugestão do Roberto é a mais adequada criar um vínculo de comunicação através do ODBC do Windows.

    Mas eu também já tive esta necessidade de migrar uma base de dados do SQL Server 2000 para o 2012, o que fiz foi migrar primeiro para o 2008, posteriormente alterei o nível de compatibilidade para 1000 e depois migrei para o 2012.

    Funcionou perfeitamente, tente este caminho.

    Por padrão os níveis de compatibilidade entre versões do SQL Server são limitados ao número de 3 versões anterior a qual você esta utlizando, ou seja, o nível de compatibilidade do SQL Server 2012 é somente até a versão 2005.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quinta-feira, 24 de julho de 2014 15:55