0x8000ffff "schwerer Fehler" mit SQL Server ODBC-Treiber

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 243349 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Der folgende Fehler kann durch die Microsoft SQL Server ODBC-Treiber generiert werden, vor allem, wenn Sie den ODBC-Treiber in Verbindung in einem Pool Umgebungen wie z. B. Internet Information Server (IIS) verwenden:
Fehler 0x8000FFFF Schwerwiegender Fehler
Das Auftreten typischer Symptome sind, dass der Treiber ist für eine unterschiedliche Zeit erfolgreich verwendet, aber der Fehler tritt dann auf, wenn Sie versuchen, ein Verbindungsobjekt zu öffnen.

Dieses Problem tritt auf, mit der 3.70.0690 des Microsoft SQL Server-ODBC-Treibers (Sqlsrv32.dll) erstellen, aber nicht mit früheren Builds auf. Außerdem tritt das Problem nicht bei Verwendung der systemeigenen Microsoft SQL Server OLE DB-Provider (Sqloledb.dll).

Ursache

Der Microsoft SQL Server-ODBC-Treiber ist die Datei Winmm.dll für Timerfunktionen laden. Während Winmm.dll in erster Linie eine multimedia DLL handelt, enthält es einige Timing-Funktionen, die auf die Millisekunde Ebene auflösen, und der Microsoft SQL Server-ODBC-Treiber ist für interne Zeitprobleme Verwendung dieser Funktionen.

In der 3.70.0690 Build von Microsoft SQL Server-ODBC-Treiber, Winmm.dll wird vorzeitig entladen, und der Funktionszeiger werden nicht gelöscht, aus. Aus diesem Grund scheint des Funktionszeigers auf eine gültige Adresse verweisen, aber der Speicherort, auf den es im Speicher verweist nicht mehr gültig ist.

Diese Zugriffsverletzung (AV) wird durch die Ausnahmebehandlung in OLE DB-Dienstkomponenten abgefangen wird, und eine "Schwerwiegender Fehler" 0x08000FFFF-Nachricht wird an den Client zurückgegeben.

Lösung

Ein unterstütztes Update ist inzwischen von Microsoft erhältlich, aber es sollte nur zur Behebung des Problems, das in diesem Artikel beschrieben wird, benutzt werden.. Wenden sie nur auf Computern, bei die dieses spezielle Problem auftritt. Dieses Update möglicherweise weiteren Tests unterzogen. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft, auf das nächste Microsoft Data Access Components Servicepack zu warten, das diesen Hotfix enthält.

Um dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Product Support Services, um das Update zu erhalten. Eine vollständige Liste der Microsoft Product Support Services Telefonnummern und Informationen zu den Supportkosten finden Sie auf der folgenden Microsoft-Website:
http://support.Microsoft.com/default.aspx?scid=fh;de;EN-US;CNTACTMS
HINWEIS: In besonderen Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn der Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem beheben kann. Normale Servicegebühren gelten für zusätzliche Supportfragen und Probleme, die für das betreffende Update nicht qualifizieren.

Die englische Version dieses Updates sollte die folgenden Dateiattribute haben oder höher:
   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

				

Abhilfe



  • Zurück zu einem früheren Build von SQL Server ODBC-Treiber wiederherstellen wie z. B. die 3.70.0623 erstellen.

    -oder-
  • Verwenden Sie stattdessen den systemeigenen SQL Server-Anbieter (Sqloledb.dll).

Status

Microsoft hat bestätigt, dass dies ein Problem in den Microsoft-Produkten handelt, die am Anfang dieses Artikels aufgeführt sind.

Dieses Problem wurde in MDAC 2.5 behoben.

Weitere Informationen

Wenn es einige Zweifel gibt, unabhängig davon dieses Fehlers die Ursache für ein AV ist die von Ihnen festgestellten werden können, kann ein Dienstprogramm wie z. B. TList.exe (aus dem Windows NT Resource Kit) oder ListDLLs.exe (von sysinternals.com) hilfreich sein festzustellen, ob Winmm.dll zunächst in den Prozess geladenen wurde, aber zum Zeitpunkt des Fehlers entladen wird.

Manuelle Installation

  1. Schließen Sie oder beenden Sie alle Anwendungen oder Dienste, die die Datei Sqlsrv32.dll verwenden. Dies kann Internet Information Server (IIS), Microsoft Transaction Server (MTS) und alle ActiveX Data Objects (ADO) oder ODBC-Anwendungen enthalten.
  2. Laden Sie den Hotfix (CatastrophicFailure.exe) in ein temporäres Verzeichnis, und führen sie die folgenden Dateien zu extrahieren:

    Odbcbcp.dll Sqlsrv32.dll
  3. Suchen Sie, und benennen Sie die aktuelle Version dieser Dateien, die im Ordner "\Winnt\System32" für Windows NT-Computer und im Ordner "\Windows\System" für Windows 9 X-Computern sein müssen.
  4. Kopieren Sie die Hotfixversion der Dateien in demselben Speicherort, und starten Sie Ihre Dienste und Anwendungen neu.

Eigenschaften

Artikel-ID: 243349 - Geändert am: Sonntag, 30. Dezember 2012 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Data Access Components 2.1
Keywords: 
kbhotfixserver kbbug kbfix kbmdac210sp2fix kbodbc210fix kbqfe kbmt KB243349 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 243349
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com