none
Transações com SQL Server em Cluster RRS feed

  • Pergunta

  • Olá, atualmente temos aplicações .Net utilizando TransactionScope para controlar transações em SQL Server 2005. A nossa Infra implantou Clusters com SQLServer 2008. Fazendo testes em uma aplicação existente, ocorre erro ao utilizar transações via TransactionScope.
    Nosso colega de Infra, me informou que tenho que alterar o código para identificar para o TransactionScope qual o servidor do nosso Cluster terá o MSDTC. Eu informei que TransactionScope é uma Classe que faz parte do Framework e que ela utiliza a infra-estrutura do MSDTC do servidor que está rodando a aplicação.
    Acredito que se algo deva ser configurado, deva ser o MSDTC do servidor e não em código, até porque nunca vi nada parecido com que ele me falou.
    Alguém já passou por uma experiência de trabalhar com TransactionScope ou COM+ com SQLServers em Cluster ?
    Obrigado
    Carlos Araujo
    • Movido Gustavo Maia Aguiar terça-feira, 7 de junho de 2011 22:30 (De:SQL Server - Infra Geral)
    sexta-feira, 3 de junho de 2011 12:52

Respostas

  • Boa Noite,

    Essa colocação não faz sentido. Se você tiver que apontar em código o servidor que tem o MSDTC, você está automaticamente abrindo mão da alta disponibilidade, pois, quando o servidor cair, o MSDTC em cluster irá para o outro nó e seu código irá parar de funcionar. Embora atualmente trabalhe em uma organização que usa fortemente o COM+ e o SQL Server não estou com ninguém do desenvolvimento para me prestar essa consultoria (rs).

    Como não vimos as mensagens de erro, tenha a certeza de que o seu MSDTC do cluster está apto para receber requisições via rede. É preciso configurar a parte de segurança do MSDTC para habilitar, pois, a partir do Windows 2003 ela é fechada por padrão. Os KBs abaixo poderão inspirá-lo:

    How to enable network DTC access in Windows Server 2003
    http://support.microsoft.com/kb/817064/en-us

    Enable Network DTC Access
    http://technet.microsoft.com/en-us/library/cc753510(WS.10).aspx

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 7 de junho de 2011 22:24

Todas as Respostas

  • Carlos,

    Não passei por esta experiência.. mas a título de curiosidade qual msg de erro vc recebe?

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    sexta-feira, 3 de junho de 2011 15:14
  • Carlos,

    Eu também não passei por esta situação, mas fiquei curioso em procurar ajudar!!!

    Você falou de TransactionScope, acredito que isso possa esta relacionado ao componente que você esta utilizando dentro da sua aplicação?


    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]
    sexta-feira, 3 de junho de 2011 19:06
    Moderador
  • Boa Noite,

    Essa colocação não faz sentido. Se você tiver que apontar em código o servidor que tem o MSDTC, você está automaticamente abrindo mão da alta disponibilidade, pois, quando o servidor cair, o MSDTC em cluster irá para o outro nó e seu código irá parar de funcionar. Embora atualmente trabalhe em uma organização que usa fortemente o COM+ e o SQL Server não estou com ninguém do desenvolvimento para me prestar essa consultoria (rs).

    Como não vimos as mensagens de erro, tenha a certeza de que o seu MSDTC do cluster está apto para receber requisições via rede. É preciso configurar a parte de segurança do MSDTC para habilitar, pois, a partir do Windows 2003 ela é fechada por padrão. Os KBs abaixo poderão inspirá-lo:

    How to enable network DTC access in Windows Server 2003
    http://support.microsoft.com/kb/817064/en-us

    Enable Network DTC Access
    http://technet.microsoft.com/en-us/library/cc753510(WS.10).aspx

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 7 de junho de 2011 22:24