none
Cluster SQL RRS feed

  • Pergunta

  • Srs,

    Possuo um Cluster Ativo / Passivo em Windows 2k3 + SQL 2005.

    Rodo uma aplicação cliente servidor.

    Quando há uma falha em um dos servidores SQL, o faillover funciona, o SQL passa atuar na segunda máquina porém todos os clientes que estavam conectados ao servidor SQL perdem a conexão sendo obrigados a reconectarem no sistema novamente.

     

    Isso é normal ou há algum ponto de falha ?

    O SQL mantém as conexões abertas ao passar para o servidor passivo?

     

    Obrigado.

    segunda-feira, 5 de fevereiro de 2007 12:31

Respostas

  • Ola Renato,

    Isso é normal sim. Isso acontece pois quando ocorre o failover o Cluster reinicializa os servicos da instancia virtual do SQL no novo nó, o que faz com que os clientes conectados tenham que se conectar novamente.

    Isso pode ser amenizado na aplicação tentando uma nova conexão quando o erro retornado for o erro especifico de queda de conexão com o servidor.

    De acordo com a Microsoft:

    During failover, client applications lose their connection to the SQL Server server and must reconnect to continue processing. If the client connection to the server is stateless, (for example, applications that are developed by using Microsoft Internet Information Server [IIS] are stateless) the client reconnects to the server and continues processing. Unless the client and server have a common state (for example, open cursors, session variables, Transact-SQL global variables, or data in tempdb), failover is not transparent to the client. In these cases, you should design the client application to inform the user that the connection was either lost, or reset or have the application automatically reestablish its connection to the server. Any transaction that has not been committed when a failover occurs is rolled back.

    Mais detalhes:

    Description of SQL Virtual Server client connections
    http://support.microsoft.com/default.aspx/kb/273673

    Qualquer duvida, retorne.

    Abs.


     

    • Marcado como Resposta Richard Juhasz quarta-feira, 8 de agosto de 2012 16:58
    segunda-feira, 5 de fevereiro de 2007 20:11
  • Renato,

    Se você quer minimizar o impacto da queda dos clientes, sugiro você utilizar o Database Mirroring.

    Consulte o BOL para mais informações.

    Qualquer dúvida retorne.

     

    • Marcado como Resposta Richard Juhasz quarta-feira, 8 de agosto de 2012 16:58
    terça-feira, 6 de fevereiro de 2007 14:31

Todas as Respostas

  • Ola Renato,

    Isso é normal sim. Isso acontece pois quando ocorre o failover o Cluster reinicializa os servicos da instancia virtual do SQL no novo nó, o que faz com que os clientes conectados tenham que se conectar novamente.

    Isso pode ser amenizado na aplicação tentando uma nova conexão quando o erro retornado for o erro especifico de queda de conexão com o servidor.

    De acordo com a Microsoft:

    During failover, client applications lose their connection to the SQL Server server and must reconnect to continue processing. If the client connection to the server is stateless, (for example, applications that are developed by using Microsoft Internet Information Server [IIS] are stateless) the client reconnects to the server and continues processing. Unless the client and server have a common state (for example, open cursors, session variables, Transact-SQL global variables, or data in tempdb), failover is not transparent to the client. In these cases, you should design the client application to inform the user that the connection was either lost, or reset or have the application automatically reestablish its connection to the server. Any transaction that has not been committed when a failover occurs is rolled back.

    Mais detalhes:

    Description of SQL Virtual Server client connections
    http://support.microsoft.com/default.aspx/kb/273673

    Qualquer duvida, retorne.

    Abs.


     

    • Marcado como Resposta Richard Juhasz quarta-feira, 8 de agosto de 2012 16:58
    segunda-feira, 5 de fevereiro de 2007 20:11
  • Renato,

    Se você quer minimizar o impacto da queda dos clientes, sugiro você utilizar o Database Mirroring.

    Consulte o BOL para mais informações.

    Qualquer dúvida retorne.

     

    • Marcado como Resposta Richard Juhasz quarta-feira, 8 de agosto de 2012 16:58
    terça-feira, 6 de fevereiro de 2007 14:31