Visualize os produtos aos quais este artigo se aplica.

Sintomas

Se o seu aplicativo Java usar transações XA e a versão do arquivo Microsoft JDBC Driver para SQL Server (sqljdbc_xa. dll) instalada na instância do SQL Server for 4.2.6420.100 ou 6.0.7507.10, a contagem de identificadores de eventos continuará aumentando até que o processo do SQL Server falhe. Para localizar a contagem de identificadores de eventos para o processo do SQL Server, inicie o Gerenciador de tarefas e clique na guia detalhes . Quando os recursos do kernel do SQL Server estiverem esgotados, você pode encontrar a seguinte entrada registrada no log de eventos do aplicativo:

Log Name: Application
Source: Microsoft-Windows-Complus
Date:  date time
Event ID: 4689
Task Category: (8)
Level: Error
Keywords: Classic
User: N/A
Computer: computer_name
Description:
The run-time environment has detected an inconsistency in its internal state. This indicates a potential instability in the process that could be caused by the custom components running in the COM+ application, the components they make use of, or other factors. Error in COM\complus\src\inc\UTSem.H(100), Insufficient system resources exist to complete the requested service.

: CreateEvent returned a NULL handle 

Causa

Esse problema ocorre quando uma classe cria uma instância DTC ITransaction, mas não libera a instância quando ela é interrompida. Quando a classe é chamada muitas vezes, um problema de vazamento de identificador ocorre na instância do SQL Server.

Resolução

Para solucionar esse problema, substitua o driver sqljdbc_xa. dll existente.

Driver JDBC 4,2

Para fazer isso, baixe e instale o pacote Microsoft JDBC Driver 4,2 para SQL Server (sqljdbc_xa. dll) atualizado no centro de download da Microsoft. Observações

  • O número da versão do pacote atualizado é 4.2.8112.100.

  • Os arquivos de biblioteca do lado do cliente existentes (sqljdbc41. jar ou sqljdbc42. jar) não precisam ser substituídos para que você possa usar o driver do sqljdbc_xa. dll atualizado.

 

Driver JDBC 6,0

Para fazer isso, baixe e instale o pacote Microsoft JDBC Driver 6,0 para SQL Server (sqljdbc_xa. dll) atualizado no centro de download da Microsoft.  

Observações

  • O número da versão do pacote atualizado é 6.0.8112.100.

  • Os arquivos de biblioteca do lado do cliente existentes (sqljdbc41. jar ou sqljdbc42. jar) não precisam ser substituídos para que você possa usar o driver do sqljdbc_xa. dll atualizado.

Informações adicionais

Esse problema foi apresentado na versão 4.2.6420.100 do driver JDBC para SQL Server e também existe na versão 6.0.7507.10. Este problema foi corrigido no driver JDBC para SQL Server versão 6.0.7728.100 e 6.0.8112.100. Esta correção libera a instância do DTC ITransaction quando a instância é interrompida.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.

Aplicável a

Este artigo é aplicável ao seguinte:

  • Driver Microsoft JDBC 4,2 e 6,0 para SQL Server quando usado com:

    • Microsoft SQL Server 2016

    • Microsoft SQL Server 2014

    • Microsoft SQL Server 2012

    • Microsoft SQL Server 2008 R2

    • Microsoft SQL Server 2008

    • Microsoft SQL Server 2005

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×