Sintomas

Considere o seguinte cenário:
Neste cenário, o ADO poderá falhar. Quando este problema ocorre, poderá receber a seguinte mensagem de erro:

Violação de acesso no msado15 ao executar um comando de modo assíncrono

Além disso, ocorre uma fuga de memória.

Causa

Este problema ocorre porque o thread que executa a consulta assíncrona tenta aceder a um membro de uma estrutura que foi reposto pelo thread principal.

Quando o thread assíncrono define o estado de execução para EXECSTATE_NOTEXECUTING, suspende o thread. No entanto, o thread principal assume que do thread assíncrono é concluído e, em seguida, repõe uma estrutura. Por conseguinte, o thread assíncrono encontra um erro de "Violação de acesso" quando o thread tenta aceder a um membro da estrutura.

Quando o thread principal adiciona dois contagens de referência a um conjunto de registos, uma das contagens de referência é utilizada por um parâmetro de saída. No entanto, o conjunto de registos poderá não ser enviado para o parâmetro de saída, se o erro é encontrado. Por conseguinte, ocorre uma fuga de memória.

Resolução

Informações sobre correção

Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.

Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentada, contacte o Suporte ao Cliente da Microsoft para obter a correção.

Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:

Nota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Para aplicar esta correcção, tem de estar a executar o Windows Server 2008 Service Pack 2 (SP2).

Para mais informações sobre como obter um Windows Server 2008 service pack, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft:

como obter o service pack mais recente do Windows Server 2008

Informações de registo

Para utilizar a correcção, não é necessário efectuar alterações ao registo.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição da correção

Esta correção não substitui uma correção disponibilizada anteriormente.

Informações de ficheiro

A versão inglesa (Estados Unidos) desta correcção instala ficheiros que têm os atributos listados nas tabelas seguintes. As datas e horas destes ficheiros são listadas na Hora Universal Coordenada (UTC). As datas e horas destes ficheiros no computador local são apresentadas na hora local em conjunto com a compensação de hora de Verão (DST) atual. Além disso, as datas e horas podem ser alteradas quando são executadas determinadas operações nos ficheiros.

Notas de informações de ficheiros do Windows Server 2008

Importante Correcções do Windows Vista e as correcções do Windows Server 2008 são incluídas nos pacotes mesmos. No entanto, apenas "Windows Vista" é listado na página de pedido de correcção. Para pedir o pacote de correcções que se aplica a um ou ambos os sistemas operativos, seleccione a correcção listada em "Windows Vista" na página. Consulte a secção "Aplica-se a" nos artigos para determinar o sistema operativo real que cada correcção aplica-se para sempre.

  • Os ficheiros aplicáveis a um produto específico, SR_Level (RTM, SPn) e ramo de serviço (LDR, GDR) podem ser identificados examinando os números de versão do ficheiro, conforme mostrado na seguinte tabela.

  • Service Pack 1 está integrado na versão original do Windows Server 2008. Por conseguinte, os ficheiros de marco RTM aplicam-se apenas ao Windows Vista. Os ficheiros de marco RTM possuem um 6.0.0000. número de versão xxxxxx .

  • Os ficheiros MANIFEST (. manifest) e MUM (. mum) instalados em cada ambiente é listados em separado na secção "Informações para o Windows Server 2008 e Windows Vista ficheiros adicionais". Os ficheiros MUM e ficheiros de MANIFESTO e os ficheiros de catálogo (. cat) de segurança associados, são extremamente importantes para manter o estado do componente actualizado. Os ficheiros de catálogo de segurança, para os quais os atributos não são listados são assinados com uma assinatura digital da Microsoft.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade da tradução?

O que afetou a sua experiência?

Comentários adicionais? (Opcional)

Obrigado pelos seus comentários!

×