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:
http://support.microsoft.com/contactus/?ws=supportNota 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:
968849 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.
Versão
Produto
SR_Level
Ramo de serviço
6.0.600
1.
22 xxxWindows Server 2008
SP1
LDR
6.0.600
2.
22 xxxWindows Server 2008
SP2
LDR
-
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.
Para todas as versões baseadas em x86 do Windows Server 2008 e do Windows Vista suportadas
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Hashes de |
Plataforma |
---|---|---|---|---|---|---|
Msado15.dll |
6.0.6001.22679 |
708,608 |
28-Apr-2010 |
16:26 |
MD5: 7348BFAFF6E0C7AF3275748004D182C9 |
x86 |
Msado15.dll |
6.0.6002.22393 |
708,608 |
28-Apr-2010 |
17:48 |
MD5: E3B4EC4CB327821764EDBF01978B71E5 |
x86 |
Para todas as versões baseadas em x64 do Windows Server 2008 e do Windows Vista suportadas
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Hashes de |
Plataforma |
---|---|---|---|---|---|---|
Msado15.dll |
6.0.6001.22679 |
978,944 |
28-Apr-2010 |
17:00 |
MD5: 33EDFF62C7152B00DFF5AE8E67807F45 |
x64 |
Msado15.dll |
6.0.6002.22393 |
978,944 |
28-Apr-2010 |
17:46 |
MD5: B33CDF642B8341803FA5E43619D8B971 |
x64 |
Msado15.dll |
6.0.6001.22679 |
708,608 |
28-Apr-2010 |
16:26 |
MD5: 7348BFAFF6E0C7AF3275748004D182C9 |
x86 |
Msado15.dll |
6.0.6002.22393 |
708,608 |
28-Apr-2010 |
17:48 |
MD5: E3B4EC4CB327821764EDBF01978B71E5 |
x86 |
Para todas as versões baseadas em IA-64 suportadas do Windows Server 2008
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Hashes de |
Plataforma |
---|---|---|---|---|---|---|
Msado15.dll |
6.0.6001.22679 |
1,798,144 |
28-Apr-2010 |
16:31 |
MD5: D20A937C4EE13C9235DFD745A3D19D3E |
IA-64 |
Msado15.dll |
6.0.6002.22393 |
1,798,144 |
28-Apr-2010 |
17:26 |
MD5: A04590E3C3E1897131DB6344638BD143 |
IA-64 |
Msado15.dll |
6.0.6001.22679 |
708,608 |
28-Apr-2010 |
16:26 |
MD5: 7348BFAFF6E0C7AF3275748004D182C9 |
x86 |
Msado15.dll |
6.0.6002.22393 |
708,608 |
28-Apr-2010 |
17:48 |
MD5: E3B4EC4CB327821764EDBF01978B71E5 |
x86 |
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Para mais informações sobre como criar uma ligação assíncrona no ADO, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
194960 como criar uma ligação assíncrona no ADO
Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Informações sobre ficheiros adicionais
Informações sobre ficheiros adicionais para o Windows Server 2008
Ficheiros adicionais para todas as versões baseadas em x86 do Windows Server 2008 suportadas
Nome do ficheiro |
X86_127373a30fc0a853c867ae5227217abe_31bf3856ad364e35_6.0.6002.22393_none_52380957bc5e2d19.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
737 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_3fe43ece312522c5e7875878fab4a738_31bf3856ad364e35_6.0.6001.22679_none_5171fc99e8f516ba.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
737 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6001.22679_none_0c77dbf589f4ea09.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
18:46 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6002.22393_none_0e42ac498730df05.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
19:45 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Ficheiros adicionais para todas as versões baseadas em x64 do Windows Server 2008 suportadas
Nome do ficheiro |
Amd64_49970e950024625a33da31d1833c8f54_31bf3856ad364e35_6.0.6002.22393_none_ce789240d1ef325c.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,122 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Amd64_8987a86cd484b8f079944725eb71e437_31bf3856ad364e35_6.0.6001.22679_none_0e310ec350ee0c89.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,122 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Amd64_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6001.22679_none_6896777942525b3f.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,252 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
19:20 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Amd64_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6002.22393_none_6a6147cd3f8e503b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,252 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
19:40 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6001.22679_none_0c77dbf589f4ea09.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
18:46 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6002.22393_none_0e42ac498730df05.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
19:45 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Ficheiros adicionais para todas as versões baseadas em IA-64 do Windows Server 2008 suportadas
Nome do ficheiro |
Ia64_8568b42258de733ec25b15ef5a924eba_31bf3856ad364e35_6.0.6001.22679_none_a77645ac11916233.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,120 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Ia64_c9570c74895fd5d77545372d9ee7905e_31bf3856ad364e35_6.0.6002.22393_none_a31aba82ca907550.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,120 |
Data (UTC) |
29-Apr-2010 |
Hora (UTC) |
06:11 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Ia64_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6001.22679_none_0c797feb89f2f305.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,225 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
18:30 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
Ia64_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6002.22393_none_0e44503f872ee801.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,225 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
18:55 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6001.22679_none_0c77dbf589f4ea09.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
18:46 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |
Nome do ficheiro |
X86_microsoft-windows-m..ents-mdac-ado15-dll_31bf3856ad364e35_6.0.6002.22393_none_0e42ac498730df05.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
128,201 |
Data (UTC) |
28-Apr-2010 |
Hora (UTC) |
19:45 |
Hash SHA-1 |
Não aplicável |
Algoritmo hash MD5 |
Não aplicável |