ID do artigo: 243349 - Última revisão: sexta-feira, 7 de outubro de 2005 - Revisão: 2.5

0x8000FFFF "Falha catastrófica" mensagem com o driver ODBC para SQL Server

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

O erro seguinte pode ser gerado pelo driver ODBC do Microsoft SQL Server, especialmente quando estiver usando o driver ODBC em ambientes de pool de conexão, como o Internet Information Server (IIS):
Erro 0x8000FFFF falha catastrófica
Os sintomas típicos são que o driver é usado com êxito por um período de tempo diferentes, mas, em seguida, o erro ocorre quando você tenta abrir um objeto de conexão.

Esse problema ocorre com o 3.70.0690 criar do driver ODBC do Microsoft SQL Server (Sqlsrv32.dll), mas não ocorre com versões anteriores. Além disso, o problema não ocorre quando você usa o nativo SQL Server provedor Microsoft OLE DB (SQLOLEDB.dll).

Causa

O driver ODBC do Microsoft SQL Server está carregando o arquivo Winmm.dll para funções de tempo. Enquanto Winmm.dll é principalmente uma DLL de multimídia, ele contém algumas funções de tempo que resolver até o nível de milissegundos e o driver ODBC do Microsoft SQL Server está usando essas funções para problemas de tempo interna.

No 3.70.0690 compilação do driver ODBC do Microsoft SQL Server, Winmm.dll está sendo descarregada prematuramente e os ponteiros de função não estão sendo zerados. Portanto, o ponteiro de função é exibido para se referir a um endereço válido, mas o local que ele aponta para na memória não é válido.

Essa violação de acesso (VA) que está sendo detectada pela tratamento de exceção na componentes do serviço de banco de dados OLE e um 0x08000FFFF mensagem "Falha catastrófica", em seguida, é retornada ao cliente.

Resolução

Uma correção suportada está agora disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente aos computadores que apresentarem esse problema específico. Pode ser nessa correção testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, a Microsoft recomenda que você aguarde o próximo Microsoft Data Access Components service pack que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Date      Time    Version      Size    File name     Platform
   -------------------------------------------------------------

   10/4/99           3.70.0737    25KB    odbcbcp.dll
   10/4/99           3.70.0737   505KB    sqlsrv32.dll

				

Como Contornar



  • Reverter para uma compilação anterior do driver ODBC do SQL Server, como o 3.70.0623 criar.

    - ou -
  • Use o provedor nativo do SQL Server (SQLOLEDB.dll).

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Esse problema foi corrigido no MDAC 2.5.

Mais Informações

Se houver alguma dúvida se ou não esse bug é a causa de um antivírus que você pode encontrar, um utilitário como TList.exe (do Windows NT Resource Kit) ou ListDLLs.exe (do sysinternals.com) pode ser útil para determinar se Winmm.dll foi inicialmente carregado no processo, mas é descarregado no momento da falha.

Instalação manual

  1. Fechar ou parar todos os aplicativos ou serviços que estão usando o arquivo Sqlsrv32.dll. Isso pode incluir Internet Information Server (IIS), Microsoft Transaction Server (MTS) e qualquer ActiveX Data Objects (ADO) ou aplicativos ODBC.
  2. Baixe o hotfix (CatastrophicFailure.exe) em um diretório temporário e executá-lo para extrair os seguintes arquivos:

    Odbcbcp.dll Sqlsrv32.dll
  3. Localize e renomeie a versão atual desses arquivos, que deve estar na pasta \Winnt\System32 para computadores com Windows NT e na pasta \Windows\System para computadores com Windows 9 x.
  4. Copiar a versão de hotfix dos arquivos no mesmo local e reinicie os serviços e aplicativos.

A informação contida neste artigo aplica-se a:
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft ODBC Driver para Microsoft SQL Server 3.7
  • Microsoft Data Access Components 2.1
Palavras-chave: 
kbmt kbhotfixserver kbbug kbfix kbmdac210sp2fix kbodbc210fix kbqfe KB243349 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 243349  (http://support.microsoft.com/kb/243349/en-us/ )