Entradas de registro são necessárias para suporte a transações XA

A partir do Windows Server 2003, o MS DTC (Coordenador de Transações Distribuídas da Microsoft) exige que você crie valores de registro para todas as DLLs XA que você planeja usar. Este artigo fornece etapas para modificar o registro.

Versão original do produto: Windows Server 2003
Número de KB original: 817066

Resumo

A partir do Windows Server 2003, o MS DTC exige que você crie valores de registro para todas as DLLs XA que você planeja usar. Esse requisito foi adicionado ao Windows Server 2003 para ajudá-lo a minimizar os riscos associados ao uso de DLLs XA de terceiros no processo de MS DTC. Para manter a mesma funcionalidade quando você usa transações XA, você deve adicionar um valor de registro na chave DLL XA para cada DLL XA que você planeja usar. Este artigo descreve esses valores de registro.

Por exemplo, quando você atualiza um sistema existente para o Windows Server 2003 e o sistema existente usa o MS DTC com DLLs XA de terceiros, o suporte para transações XA é desabilitado até que você crie esses valores de registro necessários. Além disso, se você instalar posteriormente um produto de terceiros que fornece DLLs XA para dar suporte a transações XA, você deverá fazer um dos seguintes procedimentos:

  • Criar esses valores de registro manualmente
  • Verifique se o instalador de terceiros cria esses valores de registro

Ativar o suporte para transações XA

Importante

Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para mais proteção, faça o backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para saber mais sobre como fazer o backup e restaurar o registro, consulte Como fazer o backup e restaurar o registro no Windows.

Um risco de segurança ocorre quando o MS DTC usa DLLs especificadas pelo usuário. Essas DLLs são carregadas diretamente no processo de MS DTC. O MS DTC usa essas DLLs para se comunicar com o TM (Gerenciador de Transações) do parceiro XA. Esse cenário pode expor os bancos de dados de Resource Manager (RM) a uma grave corrupção de dados. Esse cenário também pode permitir ataques de negação de serviço se uma DLL XA mal-intencionada ou com defeito não verificar se a transação distribuída confirma ou aborta corretamente. Além disso, se uma DLL XA mal-intencionada ou defeituosa contiver um código que não seja aprimorado para a segurança, um invasor poderá explorar essa fraqueza para causar um ataque de negação de serviço.

Para ajudar a evitar esse risco de segurança, o Windows Server 2003 desativa todas as transações XA ao atualizar para o Windows Server 2003. Se o suporte para transações XA estiver desativado, o Windows Server 2003 ajudará a proteger o MS DTC contra ataques de negação de serviço.

Talvez seja necessário ativar o suporte para transações XA. Para fazer isso, siga estas etapas:

  1. Abra os Serviços de Componentes.
  2. Expanda a exibição de árvore para localizar o computador no qual você deseja ativar o suporte para transações XA (por exemplo, Meu Computador).
  3. Clique com o botão direito do mouse no nome do computador e clique em Propriedades.
  4. Clique na guia MSDTC e clique em Configuração de Segurança.
  5. Em Configurações de Segurança, selecione a caixa marcar para transações XA ativar esse suporte.

O Windows Server 2003 fornece uma entrada de registro para você especificar as DLLs XA que você usará. Ao atualizar para o Windows Server 2003, você pode trabalhar com transações XA da mesma forma que trabalhou com eles em versões anteriores do Microsoft Windows Server.

Para fazer isso, crie um registro nomeado-valor sob a seguinte subchave de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL

No valor nomeado do registro, Name pode ser o nome do arquivo da DLL XA (por exemplo, dllname.dll), embora você não seja obrigado a usar essa convenção de nomenclatura. Também nesse valor nomeado, Type is String (REG_SZ) e o valor é o nome completo do caminho (incluindo o nome do arquivo) do arquivo DLL.

Crie uma entrada para cada arquivo DLL XA que você planeja usar. Além disso, se você estiver configurando o MS DTC em um cluster, deverá criar essas entradas de registro em cada nó no cluster.

Referências