none
Espelhamento SQL + Aplicações RRS feed

  • Pergunta

  • Bom Dia,

    Configurei espelhamento no SQL Server e aparentemente está tudo nos conformes. Ao testar o espelhamento com aplicação percebi que ao derrubar o servidor principal o status do SQL já mudou para o secundário, que era o espelho, assumindo o posto do banco principal. O problema é que a aplicação não sabe que existe um espelhamento e que o servidor secundário assumiu como banco principal, pois as configurações do banco de dados são passadas num arquivo de configuração, onde eu passo o nome/ip do servidor e qual banco de dados a aplicação vai se comunicar.

    Como posso fazer com que o servidor espelho assuma sendo transparente para aplicação?

    Obrigado.
    quinta-feira, 25 de fevereiro de 2010 13:09

Respostas

  • Luiz,

    Na sua aplicação, dentro das propriedades de configuração da sua connection string!!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta Luiz Sérgio quinta-feira, 25 de fevereiro de 2010 20:36
    quinta-feira, 25 de fevereiro de 2010 18:39
    Moderador
  • Exatamente Luiz,como o Junior disse, a string de conexão é alterada na Aplicação,desta forma sua aplicação irá "enxergar" o Mirror.


    Felipe Santana - MCP
    • Marcado como Resposta Luiz Sérgio quinta-feira, 25 de fevereiro de 2010 20:35
    quinta-feira, 25 de fevereiro de 2010 19:16

Todas as Respostas

  • Luiz,

    Bom dia.
    Existe uma opção de qual você pode configurar em sua String de Conexão ao SQL Server que irá redirecionar a solicitação dos clientes automáticamente após acontecer o problema do servidor principal.Quando o cliente solicitar uma interação com o SQL Server este será redirecionado para o servidor mirror.

    Com a opção Opção Failover Partner voce especifica a instancia do Servidor Mirror,de qual irão ser redirecionados os clientes.
    Segue um exemplo,da opção junto a String de conexão:

    ConnectionString=
    “Server=DBARCHLT\SQL2005DEV;
    Failover Partner = DBARCHLT\SQL2005DIST;
    Database=AdventureWorks;....”


    Para um exemplo mais completo segue o link:
    http://msdn.microsoft.com/en-us/library/ms366348.aspx

    Até mais.
    Felipe Santana - MCP
    • Sugerido como Resposta Felipesf quinta-feira, 25 de fevereiro de 2010 13:28
    quinta-feira, 25 de fevereiro de 2010 13:28
  • Felipe,

    Mas configuro essa string de conexão onde, no SQL ou na Aplicação?

    Esqueci de mencionar que estou utilizando o SQL 2005.
    quinta-feira, 25 de fevereiro de 2010 14:15
  • Luiz,

    Na sua aplicação, dentro das propriedades de configuração da sua connection string!!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta Luiz Sérgio quinta-feira, 25 de fevereiro de 2010 20:36
    quinta-feira, 25 de fevereiro de 2010 18:39
    Moderador
  • Exatamente Luiz,como o Junior disse, a string de conexão é alterada na Aplicação,desta forma sua aplicação irá "enxergar" o Mirror.


    Felipe Santana - MCP
    • Marcado como Resposta Luiz Sérgio quinta-feira, 25 de fevereiro de 2010 20:35
    quinta-feira, 25 de fevereiro de 2010 19:16
  • Felipe,

    Isso mesmo, mas é importante destacar que alguns componentes não conseguem trabalhar desta forma, por isso aconselho a utilizar os componentes do VS2005 ou 2008.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 25 de fevereiro de 2010 19:28
    Moderador
  • Felipe / Júnior,

    Obrigado eplas ideias, to aqui correndo atrás. A aplicação é desenvolvida em Java e roda no JBOSS. Estou pesquisando uma string para que o JBOSS entenda que há um mirror.

    Até agora sem sucesso.

    Obrigado.
    quinta-feira, 25 de fevereiro de 2010 20:37