Notas de versão do Microsoft Transaction Server

Este documento contém as informações mais recentes para o Microsoft® Transaction Server(MTS). Para maiores informações, consulte os tópicos a seguir:

Configurando o Microsoft Transaction Server
O que’há de novo no MTS 2.0?
Documentação do produto MTS


Informações mais recentes e limitações conhecidas

As seções a seguir contêm informações mais recentes que não estão disponíveis na documentação regular, bem como falhas e limitações conhecidas.

Definindo a identidade do pacote 'Sistema'

Ao instalar o MTS, defina a identidade do pacote 'Sistema' antes de criar qualquer pacote novo, como se segue:

  1. Crie um novo grupo local do Windows NTÒ denominado "Administradores do MTS" e um novo usuário local denominado "Administrador do MTS".

  2. Adicione o usuário "Administrador do MTS" aos grupos "Administradores do MTS" e "Administradores".

  3. Defina a identidade do pacote 'Sistema' ao "Administrador do MTS".

  4. Desligue o pacote 'Sistema' para que ele seja reiniciado com a nova identidade.

Direitos do usuário para os pacotes MTS

Certifique-se de que a conta de usuário para as identidades do pacote 'Sistema' e outros pacotes MTS tenha o login do Windows NT "como um serviço" do direito do usuário. Você pode verificar isso utilizando o 'Gerenciador de usuário do Windows NT':

  1. A partir do menu Diretivas, escolha Direitos do usuário.

  2. Clique em Mostrar direitos do usuário avançado.

Configurando o MTS para o acesso ao banco de dados Oracle

Estas informações substituem completamente a documentação anterior que descreve como utilizar o Oracle com o Microsoft Transaction Server, incluindo a documentação de 'Ajuda'on-line do Microsoft Transaction Server 2.0.

Você pode ativar os componentes MTS transacionais para acessar um banco de dados Oracle 7.3.3 através do ODBC. O MTS trabalha com o Oracle 7 Workgroup Server for Windows NT, Oracle 7 Enterprise Server for Windows NT, Oracle 7 Enterprise Servers em UNIX, e Oracle Parallel Server em UNIX.

Seu componente MTS pode acessar um banco de dados Oracle 8 tanto no Windows NT quanto no Unix, desde que o componente Microsoft Transaction Server utilize o software cliente Oracle 7.3.3. O MTS não suporta o software cliente Oracle 8.

Esta seção inclui os seguintes tópicos:

Software solicitado

O software a seguir é necessário para acessar um banco de dados Oracle a partir dos componentes MTS.

Componente Versão
Banco de dados Oracle em Windows NT 7.3.3 (com correção 4 ou mais recente)
Banco de dados Oracle em UNIX 7.3.3 (com correções)
Oracle SQL*Net 2.3.3 (com versão corrigida 2.3.3.0.3 ou mais recente)
Oracle OCIW32.DLL 1.0.0.5 ou mais recente
Oracle SQLLIB18.DLL 1.8.3.0.1 ou mais recente
Oracle XA73.LIB 7.3.3.2.0 ou mais recente
Microsoft Transaction Server 2.0 2.0
Driver Microsoft ODBC para Oracle (MSORCL32.DLL) 02.73.7283.1 ou mais recente
ActiveX Data Objects (ADO) 1.5

Observação importante: As versões anteriores do software não irão funcionar corretamente. Certifique-se de instalar estas versões do software ou as mais recentes. A falha para realização desse procedimento certamente é a causa mais comum dos problemas durante a tentativa da utilização do Microsoft Transaction Server com o Oracle.

Banco de dados Oracle em Windows NT

Se seu banco de dados Oracle reside no Windows NT, você pode instalar tanto a versão para Windows NT do Oracle 7.3.3 Workgroup Server quanto a versão para Windows NT do Oracle 7.3.3 Enterprise Server. The Oracle 7.3.2 e as versões anteriores para Windows NT do Oracle não são suportadas e não irão funcionar em conjunto com as transações MTS.

Você deve instalar a versão corrigida do Oracle 7.3.3 que é listada na tabela acima. A versão Oracle 7.3.3 não irá funcionar com o MTS, a não ser que a versão corrigida seja instalada.

Você deve submeter um relatório de problemas ao Oracle Customer Support Organization para obter a versão corrigida do Oracle. Esta versão corrigida não estava disponível no site público da Web do Oracle no momento em que essa observação foi redigida.

Você pode instalar o Oracle 8 no Windows NT desde que os componentes do Microsoft Transaction Server utilize o software cliente Oracle 7.3.3. O MTS não suporta o software cliente Oracle 8.

Banco de dados Oracle em UNIX

Se seu banco de dados Oracle reside em UNIX, você deve instalar o Oracle versão 7.3.3 (ou a mais recente) para aquela plataforma UNIX. Na maioria dos casos, você será também solicitado a instalar uma versão corrigida do Oracle 7.3.3 para o Oracle em UNIX.

Você deve entrar em contato com o Oracle Customer Support para determinar se uma versão corrigida do Oracle 7.3.3 é solicitada para sua plataforma UNIX. Explique que você irá acessar seu banco de dados Oracle em UNIX utilizando um novo suporte de transação XA que é incluído agora no Oracle versão 7.3.3 no Windows NT.

As versões corrigidas a seguir são conhecidas para funcionarem:

Plataforma Correção Oracle
HP 9000 7.3.3.3
IBM AIX 7.3.3.2
Sun Solaris 7.3.3.2

Você deve instalar o Oracle 8 em Unix desde que os componentes do Microsoft Transaction Server utilizem o software cliente Oracle 7.3.3. O MTS não suporta o software cliente Oracle 8.

Clientes Oracle no Windows NT ou Windows 95

Se os componentes do Microsoft Transaction Server acessam um banco de dados Oracle em um Windows NT remoto ou no sistema Unix, certifique-se de que o seguinte software cliente Oracle esteja presente no sistema Microsoft Transaction Server. Certifique-se de que o software cliente esta no nível da versão adequado. A tabela no início da seção "Software necessário" especifica quais versões são necessárias.

Componente
Oracle SQL*Net
Oracle OCIW32.DLL
Oracle SQLLIB18.DLL
Oracle XA73.LIB

Oracle SQL*Net

Você deve instalar a versão especificada do Oracle SQL*Net em seu sistema Microsoft Transaction Server.

Oracle OCIW32.DLL

Você deve instalar a versão especificada do Oracle OCIW32.DLL em seu sistema Microsoft Transaction Server.

A versão seguinte do Oracle OCIW32.DLL funciona:

Version 1, 0, 0, 5
Tuesday, March 18, 1997 2:47:52 PM
Size 18KB. 

A seguinte versão do Oracle OCIW32.DLL falha:

Version 7.x
Thursday, February 01, 1996 12:50:06 AM
Size 36 KB

Obtivemos a versão correta desta DLL a partir do CD de instalação do Oracle 7.3.3 na pasta \WIN32\V7\RSF73.

Oracle SQLLIB18.DLL

Você deve instalar a versão especificada do Oracle SQLLIB18.DLL em seu sistema Microsoft Transaction Server.

Oracle XA73.LIB

Você deve instalar a versão do Oracle XA73.LIB em seu sistema Microsoft Transaction Server.

Microsoft Transaction Server 2.0

Você deve instalar o Microsoft Transaction Server 2.0 se você desejar acessar um banco de dados Oracle utilizando o Microsoft Transaction Server abaixo do controle de transação.

Driver Microsoft ODBC para Oracle

O Driver Microsoft ODBC 2.0 para Oracle (MSORCL32.DLL) versão 02.73.7283.1 ou mais recente é solicitado. O programa Windows NT 4.0 Option Pack instala automaticamente esta DLL.

Se você quiser acessar o banco de dados Oracle, sugerimos que você utilize o novo driver do Oracle 2.0, mesmo que você não precise do suporte de transação. Este novo driver oferece melhor desempenho que o driver do Oracle 1.0 substituído. O driver do Oracle 1.0 serializou todas as atividades no nível do driver; as requisições foram segmentadas somente uma vez por meio do driver. O driver do Oracle 2.0 serializa todas as atividades no nível da conexão. Isso permite que conexões de banco de dados diferentes sejam usadas em paralelo.

ActiveX Data Objects (ADO)

Caso seus aplicativos utilizem ADO, você deve instalar o ADO versão 1.5. As versões anteriores do ADO não funcionarão com o 'Gerenciador de driver ODBC 3.5'. O ADO 1.5 está incluído no Windows NT 4.0 Option Pack.

Configurando o Suporte Oracle

Para configurar o suporte Oracle para os componentes transacionais do MTS

  1. Instale o Oracle versão 7.3.3 em seu sistema de servidor de banco de dados Oracle.

    Se seu banco de dados Oracle estiver localizado em um sistema Windows NT, instale o Oracle versão 7.3.3 no Windows NT.

    Se seu banco de dados Oracle estiver localizado em um sistema UNIX, instale o Oracle versão 7.3.3 naquele sistema.

    Certifique-se de que a versão correta do Oracle OCIW32.DLL seja instalada como descrito na seção "Software necessário".

  2. Instale a versão corrigida do Oracle 7.3.3 solicitada em seu sistema de servidor de banco de dados Oracle.

    Se seu banco de dados Oracle estiver localizado em um sistema Windows NT, instale a versão corrigida do Oracle 7.3.3 que está listada na seção "Software necessário".

    Se seu banco de dados Oracle estiver localizado em um sistema UNIX, instale a versão corrigida do Oracle 7.3.3 que é necessária para sua versão do UNIX.

  3. Instale o software Cliente Oracle 7.3.3.
  4. Se os componentes do Microsoft Transaction Server acessarem um banco de dados Oracle em um Windows NT remoto ou em um sistema Unix, certifique-se de que o software cliente Oracle correto está presente em seu sistema Microsoft Transaction Server.

    Instale a versão corrigida especificada do Oracle em seu sistema Microsoft Transaction Server e certifique-se de que o software cliente coincide com os níveis de versão listados na tabela na seção "Software necessário".

  5. Instale o Microsoft Transaction Server 2.0

    Quando você instala o Microsoft Transaction Server 2.0, o software seguinte será instalado.

    • O Microsoft Transaction Server 2.0, inclui a Interface Microsoft OCI

    • 'Gerenciador de Driver Microsoft ODBC 3.5'

    • Driver Microsoft ODBC para Oracle

    • ADO 1.5

  6. Excluir o DTCXATM.LOG.

    Se você nunca instalou o Microsoft Transaction Server 2.0 versão Beta, ignore essa etapa.

    Se você instalar previamente o Microsoft Transaction Server 2.0 versão Beta, utilize o Windows Explorer para determinar se o arquivo DTCXATM.LOG está em seu sistema. Se estiver, interrompa o serviço Microsoft DTC e exclua o arquivo DTCXATM.LOG.

    Se você excluir o arquivo DTCXATM.LOG uma vez, quando fizer sua primeira atualização da versão beta Microsoft Transaction Server 2.0. Nunca exclua o arquivo DTCXATM.LOG depois disso, porque ele pode conter informações de recuperação vital.

  7. Ativar o Oracle XA Support

    Desempenha as etapas a seguir para ativar o suporte de transação Oracle XA:

    1. O administrador do sistema Oracle deve criar visualizações conhecidas como V$XATRANS$. Para fazer isso, o administrador deve executar um script fornecido por Oracle, denominado "xaview.sql". Geralmente esse arquivo pode ser encontrado em C:\ORANT\RDBMS73\ADMIN.

    2. O administrador do sistema Oracle concede acesso SELECT ao público nestas visualizações.
      Seleção de acesso em V$XATRANS$ ao público.
    3. No Oracle Instance Manager, clique em Modo avançado no menu Exibir e selecione Parâmetros de inicialização no painel esquerdo. No painel direito, selecione Ajuste avançado e aumente o parâmetro "distributed_transactions" para permitir mais transações MTS concorrentes a fim de atualizar o banco de dados de uma só vez.

    Consulte a documentação do Server para obter maiores informações sobre como configurar o suporte de transação do XA.

  8. Configure a Segurança integrada

    O banco de dados possui segurança integrada que utiliza a autenticação do Windows NT para validar os usuários do banco de dados. Isso permite que um usuário efetue logon no Oracle sem fornecer uma conta ou senha de usuário separadamente. Os usuários podem manter uma conta ou senha de usuário para o Windows NT e para o Oracle.

    Se os componentes MTS sempre fornecem uma conta e senha de usuário ao conectar-se ao banco de dados Oracle, você não está utilizando a segurança integrada. Isso é válido se seus aplicativos especificarem a conta e a senha de usuário direta ou indiretamente por meio de um ODBC DSN. Em qualquer um dos casos, você não está utilizando a segurança integrada e pode ignorar essa etapa.

    Se você utilizar a segurança integrada, deve-se configurar o MS DTC para executar um nome e senha de usuário autorizados a conectarem-se ao seu banco de dados Oracle. Isso é solicitado porque, durante a recuperação do banco de dados, o MS DTC abre seu banco de dados Oracle para relatar o resultado de transações em dúvida. Consulte ""Alterando a conta de usuário sob a qual o Microsoft Distributed Transaction Coordinator é executado"" abaixo. Utilize as ferramentas de administração de segurança do Oracle para certificar-se de que o nome de usuário que você especifica está autorizado a abrir seu banco de dados Oracle.

    Para obter maiores informações sobre as instalações de segurança do Windows NT integrado do Oracle, consulte sua documentação Oracle.

  9. Configure o Oracle para suportar mais conexões

    Se você desejar criar mais do que algumas dúzias de conexões para um banco de dados Oracle, deve-se configurar o servidor Oracle para suportar conexões adicionais de banco de dados. Para obter maiores informações, consulte "Configurando o Oracle para suportar um grande número de conexões" abaixo.

Testando a instalação e a configuração do MTS Support for Oracle

Depois de instalar e configurar o suporte Oracle, você deve validar a instalação do Oracle utilizando o programa de teste do Oracle, instalado com o MTS. O programa de teste do Oracle utiliza interfaces OCI XA do Oracle do mesmo modo que o MTS as utiliza.

O programa de teste do Oracle determina se você pode conectar-se a um banco de dados Oracle utilizando a instalação XA do Oracle. O programa de teste do Oracle utiliza interfaces Oracle padrão e instalações de transação. Não é necessário o Microsoft Transaction Server nem o Microsoft Distributed Transaction Coordinator. Portanto, falha no programa de teste indica que seu sistema Oracle está instalado ou configurado de maneira imprópria. Se o programa de teste do Oracle falhar, reinstale e reconfigure o Oracle, ou entre em contato com a Oracle Support Organization para assistência

Para executar o programa de teste do Oracle

  1. Verifique se você instalou todas as versões do software, como descrito em "Software necessário".

  2. Crie um ODBC DSN que se refira ao seu banco de dados Oracle. Certifique-se de que seu DSN utiliza o novo driver Microsoft Oracle ODBC 2.0.

  3. Certifique-se de que você ativou o Oracle XA Support.

    Exclua todos arquivos rastreados do Oracle a partir da máquina contendo os componentes MTS que acessam o banco de dados Oracle. A maneira mais fácil de fazer isso é utilizar o Windows Explorer para localizar e excluir todos os arquivos *.TRC.

    Se o programa de teste do Oracle falhar, os arquivos rastreados podem ajudá-lo a determinar a origem do problema. Ao excluir todos os arquivos obsoletos rastreados, torna-se fácil localizar qualquer arquivo criado recentemente.

  4. Se você já instalou a versão beta do Microsoft Transaction Server 2.0, utilize o Windows Explorer para determinar se o arquivo DTCXATM.LOG está presente em seu sistema. Se estiver, interrompa o serviço Microsoft DTC e exclua o arquivo DTCXATM.LOG.

    Se você nunca instalou a versão beta do Microsoft Transaction Server 2.0, pode pular essa etapa.

    Você somente deve excluir o arquivo DTCXATM.LOG uma vez quando você atualiza pela primeira vez, a partir da versão beta do Microsoft Transaction Server 2.0. Você nunca deve excluir o arquivo DTCXATM.LOG depois disso, porque isso poderá conter informações de recuperação vitais.

  5. A partir do prompt de comando do MS-DOS execute o programa de teste do Oracle (TestOracleXaConfig.exe) e forneça nome_de_serviço, senha e identificação de usuário do servidor Oracle. Por exemplo:
    c:>TestOracleXaConfig.exe  -U<identificação de usuário> -P<senha>
    -S<Nome_de_Serviço como contido no arquivo TNS>.

    Se você executar o programa de teste sem parâmetros, o programa irá exibir informações de ajuda que descrevem os parâmetros necessários.

    O programa de teste irá exibir informações sobre cada operação Oracle que ele executa e indicará se cada operação foi bem sucedida.

  6. Se o programa de teste do Oracle é capaz de conectar-se ao seu servidor de banco de dados Oracle sem erros, então é muito provável que o MTS irá funcionar com o Oracle também. Se o programa de teste do Oracle relatar qualquer erro, siga estas etapas:

    • Documente a mensagem de erro exata que o programa de teste do Oracle exibe.

    • Examine o arquivo rastreado do Oracle produzido durante a execução do programa de teste do Oracle. As informações rastreadas do Oracle estão localizadas no arquivo *.TRC. O arquivo rastreado do Oracle contém informação de erro estendida que é extremamente útil no diagnóstico de problemas.

    • Entre em contato com o representante do suporte Oracle para assistência.

Validando a instalação e a configuração utilizando o aplicativo 'Banco de exemplo'

Depois de validar a instalação e a configuração do Oracle utilizando o programa de teste do Oracle, você deve utilizar o aplicativo 'Banco de exemplo' fornecido com o Microsoft Transaction Server para certificar-se de que o Microsoft Transaction Server pode acessar seu banco de dados Oracle.

Para validar o suporte Oracle utilizando o 'Banco de exemplo'

  1. Certifique-se de que você verificou se o sistema Oracle está instalado e configurado corretamente utilizando o programa de teste do Oracle fornecido pelo MTS. Se o programa de teste Oracle relatar qualquer erro, você deve corrigir o problema antes de prosseguir.

  2. No servidor de banco de dados Oracle, crie uma tabela denominada "Account". O exemplo a seguir demonstra como configurar a tabela Conta.

    Proprietário scott

    Nome da tabela Conta

    Nome da coluna 1 No da conta do tipo NUMBER

    Nome da coluna 2 Balanço do tipo NUMBER

  3. Preencha a tabela com pelo menos duas linhas. A tabela a seguir ilustra como preencher a tabela.

    No da conta Balanço

    1 1000

    2 1000

  4. Crie um arquivo DSN utilizando o utilitário de configuração ODBC. Nomeie o arquivo DSN "MTSSamples". Em seguida, atualize manualmente o arquivo DSN para adicionar a senha de usuário. O exemplo a seguir demonstra como adicionar a senha de usuário para um arquivo DSN.

    [ODBC]

    DRIVER=Microsoft ODBC para Oracle

    UID=scott

    PWD=minhasenha

    ConnectString=meuservidor

    SERVER=meuservidor

  5. Salve o arquivo DSN e execute o cliente do 'Banco de exemplo'.

Administrando o Oracle e o Microsoft Distributed Transaction Coordinator

Alterações em nomes da DLL em futuras versões do Oracle

O Oracle às vezes altera nomes da DLL quando é lançada novas versões do produto. O Microsoft Transaction Server conta com o conhecimento dos nomes de algumas DLLs do Oracle. O MTS geralmente procura por nomes da DLL fornecidos com a versão do Oracle 7.3.3. Se o Oracle renomear aquelas DLLs, você deve modificar os valores das seguintes chaves de Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer

Sob esta chave há dois valores de seqüência de caracteres nomeada.

Alterando a conta de usuário sob a qual o Microsoft Distributed Transaction Coordinator é executado

Se você configurar o MicrosoftÒ Distributed Transaction Coordinator (DTC) para executar sob uma outra conta, que não a do Sistema, deve-se especificar uma conta que é um membro do grupo 'Administradores'. Se não for, o MS DTC pode falhar ao iniciar, e você verá a seguinte mensagem no log de eventos do Windows NT.

O objeto de log XATM falhou ao definir a chave de criptografia de log

Você pode configurar a identificação de usuário para o MS DTC como segue:

  1. Parar o MS DTC.

  2. A partir do menu Iniciar selecione Configurações e, em seguida, Painel de controle.

  3. Clique duas vezes no ícone Serviços no 'Painel de controle'.

  4. Clique duas vezes em MS DTC na caixa de listagem 'Serviço'.

  5. Selecione Efetuar logon como e especifique um nome e senha de usuário.

  6. Reinicie o MS DTC.

Configurando o Oracle para suportar um grande número de conexões

Se você quiser criar mais do que algumas dúzias de conexões para um banco de dados Oracle, deve-se configurar o servidor Oracle para suportar conexões de banco de dados adicionais.

Você pode se deparar com um ou mais dos seguintes erros se falhar ao fazer isto:

Se você se deparar com qualquer um desses problemas, considere o aumento dos seguintes parâmetros de configuração do servidor Oracle:

Sessions

O valor para sessions geralmente deve ser três vezes o número total de conexões de banco de dados que você espera que seus aplicativos realizem.

Queuesize

Se a queue size para o processo Oracle Listener for inadequada, o Listener às vezes retrocede e rejeita requisições abertas de banco de dados. Isso acontece se o Oracle Listener recebe muitas requisições de conexão e sua fila estoura. Um cliente que encontra esse erro relata a mensagem de erro 'ORA-12541: No Listener' e o log do cliente ou os arquivos rastreados mostrarão a mensagem ECONREFUSED.

Para corrigir esse problema:

  1. Pare o Oracle listener no sistema que contém o servidor de banco de dados Oracle.

  2. Aumente o parâmetro QUEUESIZE no LISTENER.ORA, TNSNET.ORA, ou arquivos NAMES.ORA no sistema do servidor de banco de dados Oracle. Escolha o tamanho da fila com base no número de requisições de conexão simultâneas ou quase simultâneas que você antecipa.

    Sugerimos que você selecione um valor grande para QUEUESIZE porque o sistema Oracle geralmente abre mais de uma conexão de banco de dados para cada conexão de banco de dados transacional que seu aplicativo abrir. Como resultado, a fila do Oracle listener pode ficar cheia e estourar.

    Para acomodar 100 requisições, altere o arquivo LISTENER.ORA como a seguir:

    QUEUESIZE = 100
  3. Reinicie o Oracle listener.

Limitações conhecidas do MTS Support for Oracle

A versão do ADO 1.5 é necessária ao utilizar o ODBC 3.5

Se seus aplicativos utilizarem ADO, certifique-se de que você instalou o ADO 1.5. Para obter maiores informações, consulte a seção 'Software necessário'.

Nenhum suporte Oracle na plataforma digital alpha

A conectividade do banco de dados Oracle não é suportada para os componentes Microsoft Transaction Server sendo executados na plataforma digital alpha. O Support for Oracle na plataforma digital alpha será adicionado em uma versão futura.

Problema na versão do Oracle OCIW32.DLL

É importante que a versão correta do OCIW32.DLL esteja instalada em seu computador. Você deve verificar a versão desta DLL sempre que reinstalar o Oracle ou o Microsoft Transaction Server.

Nenhum acesso ao Oracle a partir dos Clusters do MSCS (Wolfpack)

Os aplicativos Microsoft Transaction Server que residem nos clusters do MSCS (Wolfpack) não podem acessar os banco de dados XA, incluindo o banco de dados Oracle. Este é o resultado de uma limitação no Microsoft Distributed Transaction Coordinator.

Atualmente, o Microsoft Distributed Transaction Coordinator armazena informações criptografadas relacionadas às recuperações XA no Registro do Windows NT. Atualmente essas informações não podem ser duplicadas entre dois nós em um cluster do MSCS. Como resultado, o Microsoft DTC não pode ser utilizado com algum banco de dados compatível ao XA em um ambiente de cluster. Pretendemos eliminar essas restrições em uma versão futura.

Segurança e comunicação entre computadores MS DTC remotos

Se seu aplicativo desempenha transações estendidas a dois ou mais computadores, certifique-se de que o MS DTCs, nesses computadores, estão configurados para comunicarem-se uns com os outros. O MS DTC é executado sob a identidade da conta do Sistema, como padrão. O MS DTC em um computador pode-se comunicar com o MS DTC em outro computador, somente se as contas de Visitantes estiverem ativadas nos dois computadores. Se você desativar a conta de Visitante em uma das máquinas ou no domínio do Windows NT ao qual elas pertencem, deve-se configurar o MS DTC para executar sob algum outro nome de usuário que pode-se comunicar com o computador remoto. Consulte "Alterando a conta de usuário sob a qual o Microsoft Distributed Transaction Coordinator é executado" acima.

MS DTC com MSCS exige QFE

Clientes que utilizam o MS DTC em um ambiente MSCS devem instalar o Windows NT QFE Q116844. Este QFE repara um problema de chamadas de procedimento remoto (RPC, Remote Procedure Call) que pode fazer com que um cliente do MS DTC seja desligado ao tentar se conectar com o MS DTC em um servidor cluster. Este reparo também faz parte do Windows NT QFE1, disponível no site de transmissão da Web do Windows NT Option Pack.

O nome do servidor remoto deve especificar um servidor virtual nos servidores MSCS

Servidores cluster devem definir a propriedade Nome do servidor remoto para um nome de servidor virtual utilizando o MTS Explorer. Isso permite que cliente remotos acessem componentes MTS dentro do cluster e, em caso de falha, certifique-se de que os clientes estão fazendo referência ao cluster, e não a um nó específico dentro daquele cluster.

As identidades do pacote MTS devem estar no grupo 'Administrador' nos Clusters do MSCS

Para os pacotes MTS nos clusters do MSCS, a conta de usuário associada com a identidade do pacote deve ser um administrador de sistema ou deve ter permissões de acesso de cluster de 'Controle total' (como definido em cluadmin). Se você não executar o pacote sob a identidade de um administrador de sistema, o MTS não poderá se conectar ao MS DTC.

O MTS nos clusters do MSCS exige o mesmo caminho de pasta do Windows NT em todos os nós

O MTS exige que as pastas do Windows NT tenham o mesmo caminho em todos os nós dentro de um cluster do MSCS (por exemplo, c:\winnt).

Desligue os recursos de cluster do MSCS antes de instalar o MTS

Você deve desligar os recursos de cluster do MSCS (como o SQL Server) que são afetados pela instalação do MTS antes de executar o Programa de Instalação do MTS.

Instalando o SQL Server 6.5 após a instalação do MTS

Você pode instalar SQL Server 6.5 após a instalação do MTS. É recomendável que você instale o SQL Server 6.5 antes de instalar o MTS. Se você instalar o SQL Server 6.5 após instalar o MTS, o Programa de Instalação do MTS tentará certificar-se de que o MS DTC funciona corretamente.

Execute o script INSTCAT.SQL

O MTS inclui o script INSTCAT.SQL. Esse script atualiza os procedimentos armazenados de catálogo para o driver ODBC do SQL Server. Se você não fez isso ainda, execute esse script utilizando o utilitário isql do SQL Server.

Errata da documentação sobre segurança

A autorização de segurança não está ativa como padrão.

Você não pode definir uma identidade de pacote para um grupo.

Ao definir a identidade de pacote, o MTS valida a senha que você digitar. Entretanto, se você alterar a senha para a conta sem atualizar a senha no MTS Explorer, o pacote não executa.

O arquivo de log do MS DTC pode ser compactado

O arquivo de log do MS DTC agora pode ser localizado em uma pasta compactada. Entretanto, para um melhor desempenho, não compacte o arquivo de log do Microsoft DTC nem armazene em uma pasta compactada. O MS DTC deve descompactar o arquivo de log antes de ele ser utilizado.

Problemas na redefinição do arquivo de log do MS DTC no Windows 95

Ao redefinir o arquivo de log do MS DTC no Windows 95, você pode ver uma caixa de diálogo chamada "MTxOCI" seguida por uma segunda caixa de diálogo chamada ""Falha na criação do arquivo de log do MS DTC." Se isso ocorrer, você deve desativar a inicialização automática do MS DTC como descrito em "Monitorando transações MTS no Windows 95." Reinicie seu computador e redefina o arquivo de log. Em seguida, você pode reativar a inicialização automática do MS DTC.

Outros problemas na redefinição do arquivo de log do MS DTC podem ser reparados fechando-se o MTS Explorer, reiniciando o MTS Explorer, e tentando redefini-lo novamente. Em algumas ocorrências, pode-se necessitar de várias tentativas antes de ser bem-sucedido.

Monitorando transações MTS no Windows 95

A documentação para iniciar e parar o MS DTC no MicrosoftÒ WindowsÒ 95 deve ser como segue:

Como padrão, o Microsoft Distributed Transaction Coordinator (MS DTC) é configurado para iniciar automaticamente quando um sistema Windows NT ou Windows 95 inicia. Para evitar que o MS DTC inicie automaticamente após reinicializar um computador com Windows 95, utilize o editor de Registro para localizar a chave de Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices e, em seguida, exclua a entrada de valor denominada MSDTC. Convém ativar a inicialização automática do MS DTC novamente, utilize o editor de Registro para criar uma entrada de valor denominada MSDTC com o valor da seqüência de caracteres "msdtcw -start" sob a chave de Registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices .

Observe que o nome do serviço é "msdtcw", e não "msdtc", e que há um espaço antes do hífen.

Nenhuma administração remota dos computadores com MTS 2.0 a partir dos computadoresx com MTS 1.

Você não pode administrar remotamente uma instalação MTS 2.0 a partir de um computador que executa a versão anterior do MTS. Se tentar fazê-lo, um código de erro será apresentado ou o MTS Explorer será finalizado inesperadamente.

Nenhum pacote individual desliga ao administrar remotamente um computadorx com MTS 1.

Pacote individual desligado não é suportado ao administrar remotamente um computador x com MTS 1.

O Visual Basic 5.0 desliga com o MTS 2.0

Depois de instalar o MTS 2.0, você pode ver uma violação de acesso ao desligar o MicrosoftÒ Visual BasicÒ 5.0. Esta é uma falha conhecida do Visual Basic 5.0 que pode ser reparada pela instalação do Visual StudioÔ Service Pack 2 a partir do http://www.microsoft.com/vstudio. Para obter maiores informações sobre este problema, consulte o artigo Q167213 "Base de conhecimento".

Processos de servidor múltiplo no Windows 95

Há um problema conhecido que ocorre se um processo do servidor MTS termina inesperadamente (devido a um failfast, uma declaração ou uma violação de acesso), tentativas subseqüentes para reiniciar o aplicativo criam processos MTS múltiplos. (O correto deve ser somente um processo MTS por pacote.) No caso de um processo servidor terminar inesperadamente, você deve reinicializar seu computador com Windows 95.

Deadlocks no Windows 95 ao utilizar pipes nomeados

Há um problema conhecido que pode causar deadlocks ao utilizar aproximadamente 40 conexões pipes ou mais nomeadas de um cliente Windows 95 para o MS Distributed Transaction Coordinator (DTC). Para reparar esse problema, altere o protocolo entre o driver ODBC e o SQL Server para TCP/IP.

Componentes e chaves de Registro 'TreatAs' e 'AutoTreatAs'

O COM permite que um servidor emule o outro utilizando as chaves de Registro TreatAs ou AutoTreatAs. Suponha que um cliente crie um componete de um dado CLSID utilizando o CoCreateInstance. Se a chave TreatAs ou AutoTreatAs estiver presente sob aquele CLSID no Registro, o COM irá criar o componente indicado por esta chave. Isso roteia efetivamente as requisições do cliente para o servidor de emulação. (O mesmo roteamento é possível utilizando-se o ProgID se o cliente consultar seus servidores pelo ProgID em vez do CLSID.)

Os componentes que são emulados utilizando-se a TreatAs ou a AutoTreatAs não são componentes MTS válidos e não podem ser importados. Se a emulação for adicionada após o componente ter sido importado, ele deve ser excluído do catálogo MTS e, em seguida, substituído com o componente de emulação.

Modelos de encadeamento mistos em um processo servidor

Dentro de um processo servidor, objetos na mesma atividade devem ser registrados com modelos de encadeamento compatíveis. As combinações a seguir são válidas:

Observe que os componentes MTS segmentados apenas uma vez não podem ser criados por um Active Server Page em processo de execução com o IIS ou em processo com um aplicativo do IIS utilizando a isolação do processo.

Não crie servidores locais não-MTS utilizando o CreateInstance

A criação de servidores locais não-MTS utilizando método CreateInstance do objeto do contexto é extremamente desaconselhável. Tais servidores não podem ser escalonados com bons resultados e podem causar outras ocorrências de servidor que não possam ser desligados pelo MTS. Se você precisar criar um servidor local não-MTS, utilize o CoCreateInstance.

Não utilize o COM surrogates dentro do MTS. Em vez disso, carregue servidores em processo no processo servidor MTS.

A segurança MTS não funciona com a representação do IIS

O controle de acesso ao pacote baseado na função MTS não funciona corretamente quando os pacotes são front-ended pelos multiplexadores que representa clientes múltiplos (por exemplo, o Internet Information Server). Os pacotes MTS utilizados nesses ambientes devem ser configurados com a segurança desativada.

Isto pode ser reparado pela instalação do Windows NT QFE1, disponível no site de transmissão da Web no Windows NT Option Pack. Depois de instalar o QFE, a segurança baseada em função funcionará corretamente com o IIS.

Quando você cria aplicativos IIS seguros que utilizam processo de isolamento, o IIS cria um pacote MTS que é definido para ser executado como IWAM_<nome do computador>. Se você desejar alterar a identidade desses pacotes, deve-se também adicionar uma nova identidade de pacote ao grupo "MTS Trusted Impersonators" ou a segurança não funcionará corretamente em outros componentes MTS fora de processo. Se isso não for feito, o chamador parecerá ser IWAM_<nome do computador> em vez do cliente verdadeiro do IIS.

Utilizando o ErrorInfo com ADO

O ADO apaga qualquer informação que você possa ter colocado num objeto 'ErrorInfo'. Há uma alteração de código para este problema que precisa ser implementada no tratamento de erros.

Para o Visual Basic, o código é similar ao que se segue:

ErrorHandler:
    ' disponibilização
    If Not adoRS Is Nothing Then
        Set adoRS = Nothing
    End If
    If Not adoConn Is Nothing Then
        Set adoConn = Nothing
    End If
    
    Err.Raise Err.Number, "Bank.Accout.Post", Err.Description

Exit Function

Para o Visual C++, o código é similar ao que se segue:

//
// ErrorInfo é salvo aqui porque o seguinte 
// código de disponibilização do ADO pode desmarcá-lo.
//
IErrorInfo * pErrorInfo = NULL;
GetErrorInfo(NULL, &pErrorInfo);

if (adoRsBalance) adoRsBalance->Release();
if (adoCoConnection) adoCoConnection->Release();

AtlReportError( CLSID_CAccount, pErrMsg, IID_IAccount, hr);

//
// coloque o error back no TLS
//
SetErrorInfo(NULL, pErrorInfo);

Para o Visual J++, o código é similar ao que se segue:

if (adoRsBalance != null) {
	if (adoRsBalance.getState() == ObjectStateEnum.adStateOpen)
		adoRsBalance.Close();
	ComLib.release (adoRsBalance);
}

if (adoConn != null) {
	if (adoConn.getState() == ObjectStateEnum.adStateOpen)
		adoConn.Close();
	ComLib.release (adoConn);
}

Observação No Java você deve fechar expressamente o conjunto de registros e/ou as conexões, bem como liberar os objetos ADO.

Nenhum cliente do 'Banco de exemplo ASP'

A documentação declara incorretamente que uma versão do Active Server Page (ASP) do cliente do 'Banco de exemplo' é fornecida.

O número máximo de métodos nos componentes MTS 2.0 é 1024

O MTS 1.0 teve um limite de 100 métodos por componente. No MTS 2.0 agora esse limite é de 1024 métodos.

Os componentes que utilizam o RDO 2.0 nos computadores multiprocessadores podem acusar violações de acesso

Os componentes que utilizam o RDO 2.0 e são acessados simultaneamente por clientes múltiplos que podem acusar violações de acesso. Isso tem sido observado em servidores que têm múltiplos processadores. Esse problema tem sido observado em componentes que utilizam o ADO.

Localização dos exemplos do Visual Basic Script

Os exemplos do Visual Basic Scripting (VBScript) para administração automatizada do MTS estão localizados em \Program Files\Mts\Samples, não \Program Files\Mtx\Samples\WSH como afirmado na documentação.

O banco de exemplo Java não é compilado no Windows 95

Para compilar os componentes do banco de exemplo Java no Windows 95, execute o 'midl.exe' no arquivo 'Account.idl', em seguida execute o 'SetJavaDev.bat'.

Utilizando o Microsoft Transaction Server API para desenvolver aplicativos

Desenvolvendo componentes com o Microsoft Visual C++

DLLs de extensões MFC

Os componentes MTS não devem ser construídos como DLLs de extensões MFC, porque tais DLLs podem ser carregadas somente pelos aplicativos MFC. Um componente COM, e portanto um componente MTS, deve ser construído para que possa ser carregado em qualquer processo, independente do tipo de aplicativo que iniciou o processo.

Para obter maiores informações sobre as DLLs de extensões MFC, consulte o Guia do Programador do Microsoft Visual C++.

Devenvolvendo os componentes com o Microsoft Visual Basic

ObjectControl

Problemas conhecidos com o fechamento do 'Mtx.exe' ao utilizar os componentes Visual Basic 4.0

Quando um processo do 'Mtx.exe' sendo executado nos componentes Visual Basic 4.0 é "Desligar após estar ocioso por x minutos", ocorre um problema conhecido que resulta em uma violação de acesso de 'Leitura'. Atualmente não há solução conhecida para esse problema. Acredita-se que se mais de dois componentes Visual Basic 4.0 forem utilizados em um processo, é mais provável que isso aconteça. Uma solução é definir seu pacote para "Manter em execução quando estiver ocioso". Isso torna-se somente um problema quando utilizam-se componentes construídos com o Visual Basic 4.0 -- Não há mais problemas no Visual Basic 5.0.

Evitando os deadlocks do Visual Basic 4.0/RDO

Se o componente do servidor utilizar o RDO, nunca deixe que um rdoConnection com um rdoResultset ativo caia do escopo ou poderá resultar em uma deadlock. Você deve fechar manualmente o rdoResultset ou o rdoConnection para evitar a deadlock. A seqüência a seguir produz uma deadlock:

  1. Crie uma ocorrência do componente do servidor. Chame um método que cria rdoConnection e, em seguida, rdoResultset. Você pode buscar a partir de, mas não esgotar ou fechar o rdoResultset.

  2. Libere esta ocorrência. (Como esta conexão e o conjunto de resultados sai do escopo, as chamadas ODBC solicitadas não são feitas imediatamente. Em vez disso, uma mensagem é postada em uma janela oculta para fazer o SQLFreeStmt+SQLDisconnect+SQLFreeConnect).

  3. Crie uma segunda ocorrência do componente do servidor. Crie um rdoConnection e tente atualizar uma linha que foi incluída no conjunto de resultados a partir da etapa 1 acima. Isso agora é uma deadlock, porque os bloqueios deixados para o conjunto de resultados criados na etapa 1 foram liberados. E a mensagem pump que processará a mensagem postada na etapa 2 acima agora não terá a chance de ser executada.

O deadlock é evitado manualmente, fechando-se o conjunto de resultados (ou conexão) no final da etapa 1, que gera imediatamente chamadas ODBC para fechar a instrução (e a conexão). A raiz do problema é o atraso apresentado pela mensagem postada na janela oculta para fazer com que o ODBC se feche.

Mantendo o catálogo MTS ao desenvolver os componentes com o Visual Basic

Sempre que você recompilar um projeto OLE DLL no Visual Basic 4.0, o Visual Basic grava novamente todas as entradas de Registro para todos os componentes (classes Visual Basic) que existem naquele DLL. Além disso, o Visual Basic pode gerar novos GUIDs (dependendo da configuração do projeto) para identificar os componentes naquele DLL. Isso significa que os componentes MTS não são mais registrados corretamente no catálogo MTS.

Há duas soluções para este problema. Primeiro, há um botão Atualizar no Transaction Server Explorer, bem como o comando Atualizar todos os componentes no menu Ferramentas. Se você utilizar esse comando o Microsoft Transaction Server irá reparar todas as inconsistências nas entradas de Registro dos componentes no painel direito do Explorer atualmente.

Se você instalar a versão desenvolvida do Microsoft Transaction Server, verifique a opção VB Addin para ativar um recurso que renovará automaticamente os componentes depois de recompilados. A próxima vez que você executar o Visual Basic 4.0, o add-in será automaticamente instalado em seu Visual Basic IDE. Você pode também ativar e desativar o recurso em uma base por projeto selecionando ou deselecionando o comando MTxServer RegRefresh | AutoRefresh after compile no menu Add-Ins do Visual Basic. Se você desejar renovar todos os componentes do Microsoft Transaction Server em um dado momento, pode-se utilizar o comando MTxServer RegRefresh | Refresh all components agora no menu Add-Ins .

Importante O Visual Basic Add-in tem sido atualizado para funcionar com o Visual Basic versão 4.0 e versão 5.0. Uma vez instalado, ele irá renovar automaticamente o catálogo do Transaction Server com as alterações feitas durante cada compilação. A opção do menu 'Add-in' não é mais suportada para ativar e desativar a renovação automática.

A utilização do add-in irá renovar corretamente o catálogo do MTS, mesmo após as compilações do Visual Basic que geram novos GUIDs de componentes. Observe também que a definição Compatible OLE Server na caixa de diálogo Project Options no Visual Basic pode ser utilizada para interromper o Visual Basic de gerar novos GUIDs de componentes.

A renovação do catálogo do MTS depende da não alteração do ProgIDs de seus componentes. No Visual Basic 4.0, o ProgID do componente é formado pela seguinte concatenação: nome do projeto.nome da classe. Se você alterar qualquer um desses itens, terá que reinstalar o(s) componente(s) no MTS Explorer.

A construção do componente no Visual Basic 4.0 sem selecionar a opção Compatible OLE Server recoloca os antigos CLSID e IID em cada compilação. Há desvantagens quando um componente MTS é desenvolvido, mesmo que o add-in do Visual Basic esteja ativado.


Relatando problemas e falhas

Ao relatar uma falha, inclua a informação a seguir em seu relatório de falha:


Guia para o Microsoft Technical Support

Se você tiver uma pergunta técnica sobre o Microsoft® Transaction Server, utilize a documentação on-line ou consulte a 'Ajuda' clicando no botão Ajuda durante um procedimento. Se você ainda tiver alguma dúvida, o Microsoft oferece serviços e suporte técnico que vão desde ferramentas de auto-ajuda a assistência direta com a Microsoft Technical Support Engineer. Observação: Os serviços e preços listados aqui estão disponíveis somente nos Estados Unidos e Canadá (consulte Technical Support Worldwide abaixo).

Ferramentas de auto-ajuda para para você mesmo encontrar as respostas

Microsoft Technical Support Online: Este site inovador utiliza a tecnologia de ponta do Microsoft para ajudá-lo a acessar as informações técnicas mais importantes e recursos para responder a suas questões. Utilize os 'Assistentes de solução de problema' para diagnosticar e responder facilmente questões técnicas. Ou selecione artigos técnicos, auxílio de programação ou perguntas comuns do Microsoft Knowledge Base de mais de 75.000 artigos. Visite http://www.microsoft.com/support/ hoje e veja como é fácil encontrar as respostas que você precisa.

Assistência direta com um Microsoft Technical Support Engineer

Pay-Per-Incident Support: Se ainda necessitar de respostas para suas dúvidas técnicas, você pode adquirir o Pay-Per-Incident Support. Nos EUA. e Canadá, por uma taxa de $195US por ocorrência, ligue para (800) 936-5900, 24 horas por dia, sete dias por semana, inclusive feriados.

Observação   Taxas de suporte para as ligações (800)# serão debitadas em seu cartão de crédito VISA, MasterCard ou American Express.

Priority Annual Support: Se você esperar um grande número de ocorrências de suporte ou precisar de acesso de prioridade ao Microsoft Technical Support Engineers, poderá adquirir um Priority Annual Comprehensive Account. Nos EUA e Canadá, para obter maiores informações ou para adquirir uma conta anual ao custo de $1,695US por 10 ocorrências, ligue para (800) 936-3500, 24 horas por dia, 7 dias por semana, inclusive feriados. Para enviar uma ocorrência a uma conta existente, ligue para (800) 936-4900, 24 horas por dia, 7 dias por semana, inclusive feriados.

Enviando dúvidas via Internet: Nos EUA e Canadá, você pode também enviar suas dúvidas de suporte Pay-Per-Incident ou Priority Annual via Internet com Web Response. Para obter maiores detalhes, utilize o Microsoft Technical Support Online em http://www.microsoft.com/support/.

Prioridade Plus: O Microsoft Technical Support oferece também contas especiais para empresas de médio porte que exigem resolução prioritária de ocorrência, incluindo suporte business-critical e acesso a informações de destino para auxiliar os profissionais de tarefa de 'Ajuda' e informações tecnológicas no suporte do planejamento para o desenvolvimento do produto oculto. Para obter maiores informações, Nos EUA e Canadá, ligue para (800) 936-3500, 24 horas por dia, 7 dias por semana, inclusive feriados.

Priority Consult Line: Recebe, por hora, consultas de dúvidas de suporte que vão além do suporte no área técnica tradicional. Estas incluem estrutura ou planejamento para desenvolvimento, desenvolvimento de software, revisão de código e planejamento de implementação. O Consult Line abrange todos os produtos da Microsoft, inclusive aqueles produtos utilizados para desenvolver soluções de Internet e Intranet. Para obter maiores informações ou adquirir serviços de consulta por hora a $195US por hora (mínimo de uma hora), ligue para (800) 936-5200, de segunda a sexta-feira, exceto feriados, das 6 às 18 horas, hora do Pacífico.

Opções adicionais de suporte

Serviços e programas profissionais: O Microsoft Technical Support oferece também programas e serviços de suporte profissional para empresas de grande porte que necessitam de um relacionamento direto com a Microsoft. Para obter maiores informações, consulte a seção "Suporte técnico" do arquivo da 'Ajuda', ou visite o Microsoft Technical Support Online em http://www.microsoft.com/support/.

Text Telephone: Os serviços de telefone textual da Microsoft (TTY/TTD) estão disponíveis para os surdos ou aqueles com dificuldades auditivas. Nos Estados Unidos, utilizando um modem TTY/TTD, disque (425) 635-4948. No Canadá, utilizando um modem TTY/TTD, disque (905) 568-9641.

Technical Support Worldwide: Os serviços de suporte e os preços podem variar fora dos Estados Unidos e do Canadá. Para obter informações sobre suporte disponível fora dos EUA e Canadá, entre em contato com a subsidiária local da Microsoft em sua área. Para obter uma lista das subsidiárias da Microsoft em todo o mundo, consulte a seção "Suporte técnico" do arquivo da 'Ajuda', ou visite o Microsoft Technical Support Online em http://www.microsoft.com/support/.

Observação   Os serviços e preços listados aqui estão disponíveis somente nos Estados Unidos e Canadá. Os serviços de suporte podem variar fora dos EUA e Canadá. Para obter maiores informações sobre suporte em outros locais, entre em contato com a subsidiária local da Microsoft.

Os serviços de suporte da Microsoft’ estão sujeitos aos preços, termos e condições vigentes da Microsoft’, que, por sua vez, estão sujeitos a alterações sem aviso prévio.


Informação de copyright

© 1998 Microsoft Corporation

Estes materiais são fornecidos “no estado em que se encontram,” somente para o propósito de informação.

Nem a Microsoft nem seus fornecedores tornam qualquer garantia, expressa ou implicada com relação ao conteúdo desses materiais ou a exatidão de qualquer informação contida aqui, incluindo, sem limitação, as garantias implicadas de comercialização e adequação para propósitos específicos. Porque alguns estados/jurisdições não permitem exclusões de garantias, as limitações acima não podem ser aplicadas a você.

Nem a Microsoft nem seus fornecedores terão qualquer responsabilidade pelos danos, ou o que quer que seja, incluindo conseqüente, eventual, direto, indireto, especial e perda de lucros. Por isso alguns estados/jurisdições não permitem exclusões de garantias implicadas. As limitações acima podem não ser aplicadas a você. Em qualquer evento a Microsoft’e seus fornecedores’ responsabilizam-se integralmente por qualquer modo decorrente desses materiais, seja por dano, contrato ou do contrário não irá exceder o preço comercial sugerido nesses materiais.


© 1998 Microsoft Corporation. Todos os direitos reservados.