Habilitar o rastreamento de diagnóstico para MS DTC em um computador Windows 10
Este artigo discute como habilitar o rastreamento de diagnóstico para o MS DTC (Coordenador de Transações Distribuídas da Microsoft) em um computador Windows 10.
Versão original do produto: Windows 10
Número de KB original: 926099
Importante
Este artigo contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Você deve saber como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, consulte Informações de registro do Windows para usuários avançados.
Tipos de instalações de rastreamento
Rastreamento do gerenciador de transações
O rastreamento do TM (Gerenciador de Transações) rastreia alterações no estado da transação. Ele é gerado pelo gerenciador de transações do MS DTC. A saída está em formato binário e a saída deve ser formatada. O gerenciador de transações faz parte do serviço MS DTC.
Rastreamento de erros do gerenciador de comunicação
O rastreamento de erros do CM (gerenciador de comunicação) rastreia qualquer processo que carregue o arquivo Msdtcprx.dll e que usa a interface RPC (chamada de procedimento remoto) do MS DTC para se comunicar com outros processos relacionados ao MS DTC. A saída está no formato de texto. O erro 0x8004d00a é um erro típico para o qual o rastreamento de erros do gerenciador de comunicação pode ser útil.
Observação
O rastreamento do gerenciador de transações e o rastreamento de erros do gerenciador de comunicação são processos independentes. Você pode habilitar de forma independente o rastreamento do gerenciador de transações e o rastreamento de erros do gerenciador de comunicação. Ou, você pode desabilitar independentemente.
Habilitar o rastreamento do gerenciador de transações
Você pode usar o snap-in MMC (Component Services Microsoft Management Console) para habilitar o rastreamento do gerenciador de transações. Para fazer isso, siga estas etapas:
Selecione Iniciar, selecione Todos os Programas, Selecione Acessórios e, em seguida, Selecione Executar.
Digite comexp.msc e selecione OK.
Expanda Serviços de Componentes, expanda Computadores, expanda Meu Computador, Expanda Gerenciador de Transações Distribuídas, clique com o botão direito do mouse em DTC Local e selecione Propriedades.
Selecione a guia Rastreamento .
Na guia Rastreamento , você pode modificar as seguintes opções de rastreamento de TM:
-
Saída de rastreamento
-
Rastrear transações
- Rastrear todas as transações
- Rastrear transações abortadas
- Rastrear transações de Long-Lived
-
Rastrear transações
-
Saída de rastreamento
Quando você altera a configuração de rastreamento de TM, o serviço MS DTC detecta as alterações. No entanto, você não precisa reciclar o processo. Por exemplo, quando você altera as transações que são rastreadas ou o local do arquivo de rastreamento, o serviço MS DTC detecta a alteração no registro. Você não precisa reiniciar o serviço MS DTC.
Novo sistema de rastreamento do MS DTC no Windows
No Windows, o MS DTC tem um sistema de rastreamento novo e extenso. O novo sistema tem as seguintes metas de design:
- Apenas uma única linha de código é necessária para adicionar um rastreamento formatado.
- O rastreamento é legível por humanos em computadores de produção sem uma rede.
- As opções de saída são flexíveis.
- O rastreamento é rápido.
- Você não precisa reiniciar o computador para alterar as opções.
Além disso, em Windows 10 e Windows Server Technical Preview, o nome do arquivo de log de rastreamento inclui o nome do processo que invocou o log de rastreamento. Isso é controlado pela chave de registro de saída.
Configurar o rastreamento
Aviso
Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modifique o Registro a seu próprio risco.
A configuração de rastreamento está localizada no nó local, em uma chave de registro nomeada Tracing
sob a chave do registro ms DTC. A Tracing
chave do registro inclui o rastreamento do gerenciador de conexões. Anteriormente, você usou a chave do registro para configurar o TraceCMErr
rastreamento do gerenciador de conexões. A Tracing
chave do registro contém as duas sub-chaves a seguir:
-
Sources
: essa sub-chave configura o tipo de rastreamento. -
Output
: essa sub-chave configura para onde a saída de rastreamento é enviada.
Observação
Verifique se o processo pode acessar a chave do Tracing
registro. Por padrão, a configuração do Windows não cria essa chave e não concede permissões a essa chave. Você pode usar o Registro Editor para configurar a funcionalidade de rastreamento.
Para criar entradas de registro de funcionalidade de rastreamento, siga estas etapas:
Selecione Iniciar>Todos os Programas Acessórios>>Executar, digite regedit e selecione OK.
Localize e selecione uma das seguintes sub-chaves:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
No menu Editar , selecione Novo e selecione o tipo de dados da entrada. Por exemplo, selecione Valor DWORD (32 bits).
Digite o nome da origem desejada e pressione ENTER. Para obter mais informações sobre os nomes de origem, consulte a tabela na seção Configurar fontes .
Clique com o botão direito do mouse na nova entrada do registro, selecione Modificar, digite o valor desejado na caixa de dados Valor e selecione OK.
No menu Arquivo, selecione Sair.
Configurar fontes
A Sources
chave do registro contém um conjunto de valores de registro DWORD listados na tabela a seguir.
Nome | Descrição |
---|---|
TRACE_MISC | Rastreamentos que não podem ser categorizados nas outras categorias |
TRACE_CM | Rastreamentos no gerenciador de conexões |
TRACE_TRACE | A infraestrutura de rastreamento em si |
TRACE_SVC | Rastrea o serviço e a inicialização de arquivos .exe |
TRACE_GATEWAY | Fonte do gateway |
TRACE_UI | Rastreia a interface do usuário |
TRACE_CONTACT | Rastreia o pool de contatos e os contatos |
TRACE_UTIL | Rastreia rotinas de utilitário que são chamadas de vários locais |
TRACE_CLUSTER | Rastreia o código (utilitário) específico do cluster |
TRACE_RESOURCE | Rastreia o código específico do recurso do cluster |
TRACE_TIP | Fonte de rastreamento tip (Protocolo de Internet de Transação) |
TRACE_XA | Fonte de rastreamento do XATM (XA Transaction Manager) |
TRACE_LOG | Rastreamento de log |
TRACE_MTXOCI | Origem de rastreamento da camada MTS/OCI (Mtxoci.dll) |
TRACE_ETWTRACE | Origem de rastreamento do ETW (Rastreamento de Eventos para Windows) |
TRACE_PROXY | Rastreamentos gerados na DLL do proxy MSDTC |
TRACE_KTMRM | Rastreamento para integração com o Kernel Transaction Manager |
TRACE_VSSBACKUP | Rastreamento para integração com o mecanismo de backup e restauração do Microsoft Visual SourceSafe |
TRACE_PERFMON | Rastreamento com suporte para contadores de desempenho |
O valor DWORD deve ser um número de 0 a 255. O valor DWORD indica o nível de rastreamento que ocorre. A tabela a seguir lista possíveis valores DWORD.
Valor | Descrição |
---|---|
0 | const BYTE TRACE_OFF |
1 | const BYTE TRACE_ERROR |
2 | const BYTE TRACE_WARNING |
3 | const BYTE TRACE_INFO |
4 | const BYTE TRACE_VERBOSE |
5 | const BYTE TRACE_VERY_VERBOSE |
6 | const BYTE TRACE_INOUT |
0xF0 | const BYTE TRACE_OBSCURE |
0xff | const BYTE TRACE_EVERYTHING |
Observação
Valores mais altos incluem automaticamente valores mais baixos. Portanto, quando você habilita o TRACE_INFO
nível, o TRACE_ERROR
nível também está habilitado. Pouquíssimas fontes usam qualquer rastreamento que seja maior que o TRACE_VERBOSE
nível.
Configurar a saída de rastreamento
Aviso
Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não garante que esses problemas possam ser solucionados. Modifique o Registro a seu próprio risco.
A Output
chave do registro contém um conjunto de valores que controlam onde a saída de rastreamento é enviada. Esses valores são os seguintes:
O
TraceFilePath
valor (REG_SZ) é a pasta raiz na qual os arquivos de rastreamento devem ser armazenados. O rastreamento é gravado em um arquivo em uma pasta chamada msdtc-X.log. Neste nome da pasta, X representa o PID decimal do processo que cria o arquivo. Verifique se todos os processos de interesse podem acessar a pasta configurada. Caso contrário, as informações de rastreamento serão perdidas. Se esse valor não estiver definido, os rastreamentos não serão enviados para um arquivo.O
ImageNameInTraceFileNameEnabled
valor (REG_DWORD) determina se o nome do arquivo de log de rastreamento gerado inclui o nome do arquivo de imagem do processo que invocou o log de rastreamento. Se isso for definido como um valor não zero, o nome do arquivo de imagem do processo será incluído no arquivo de log de rastreamento gerado. Se esse valor for definido como zero, o nome do arquivo de imagem do processo não será incluído no arquivo de log de rastreamento gerado. Por padrão, o valor é definido como zero (0). A seguir está um exemplo de um nome de arquivo de rastreamento em que o arquivo de log gerado contém o processo:
MSDTC-msdtc.exe-3552.log ou MSDTC-svchost.exe - 3556.logO
MemoryBufferSize
valor (REG_DWORD) é o tamanho do buffer circular no qual as mensagens de rastreamento são armazenadas. Se esse valor for definido como 0, o rastreamento de memória será desabilitado. Por padrão, esse valor é de 10 MB. Talvez você precise aumentar esse valor se habilitar o rastreamento verboso.O
DebugOutEnabled
valor (REG_DWORD) habilita ou desabilita a saída para o depurador. Se o valor não for zero, a saída será habilitada. Por padrão, essaOutput
chave do registro está desabilitada. Quando você altera a configuração de rastreamento de erros do gerenciador de conexões, as alterações entrarão em vigor quando um processo que carrega o arquivo Msdtcprx.dll é reciclado. Por exemplo, as alterações na configuração de rastreamento de erros do gerenciador de conexões fazem efeito quando o processo de serviço do MS DTC é reciclado.
Como alternativa, você pode criar um arquivo .reg e, em seguida, pode usar o Registro Editor para importar o arquivo. Para fazer isso, siga estas etapas:
Crie um novo arquivo .reg que contém o seguinte exemplo de código:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output] "DebugOutEnabled"=dword:00000000 "TraceFilePath"="" "MemoryBufferSize"=dword:0000000a "ImageNameInTraceFileNameEnabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources] "TRACE_MISC"=dword:00000000 "TRACE_CM"=dword:00000000 "TRACE_TRACE"=dword:00000000 "TRACE_SVC"=dword:00000000 "TRACE_GATEWAY"=dword:00000000 "TRACE_UI"=dword:00000000 "TRACE_CONTACT"=dword:00000000 "TRACE_UTIL"=dword:00000000 "TRACE_CLUSTER"=dword:00000000 "TRACE_RESOURCE"=dword:00000000 "TRACE_TIP"=dword:00000000 "TRACE_XA"=dword:00000000 "TRACE_LOG"=dword:00000000 "TRACE_MTXOCI"=dword:00000000 "TRACE_ETWTRACE"=dword:00000000 "TRACE_PROXY"=dword:00000000 "TRACE_KTMRM"=dword:00000000 "TRACE_VSSBACKUP"=dword:00000000
Selecione Iniciar>Todos os Programas Acessórios>>Executar, digite regedit e clique em OK.
No menu Arquivo , selecione Importar.
Localize o arquivo que você criou na etapa 1 e selecione Abrir. A caixa de diálogo Editor do Registro é exibida.
Selecione OK.
No menu Arquivo, selecione Sair.
Efeito desempenho
Por padrão, a funcionalidade de rastreamento está desabilitada no Windows. Portanto, não existe nenhum efeito de desempenho em uma instalação regular.
Não habilite a funcionalidade de rastreamento em computadores de produção, a menos que um Profissional de Suporte ao Cliente da Microsoft indique que as informações de rastreamento são necessárias para diagnosticar um problema. O rastreamento pode afetar o desempenho do computador. Primeiro, você deve encontrar o problema e resolve-lo. Em seguida, desabilite imediatamente a funcionalidade de rastreamento.
Configuração do cluster
Para instalações de cluster, verifique se todas as entradas do registro em todos os nós contêm essas entradas de registro. Para qualquer nó que não tenha essas entradas de registro, o código do cluster ignora as entradas do registro no registro compartilhado porque as entradas do registro não existem no registro de computador local.