Αναγν. άρθρου: 243349 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0

Μήνυμα 0x8000FFFF "καταστροφική αποτυχία" με το πρόγραμμα οδήγησης ODBC του SQL Server

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.
Ανάπτυξη όλων | Σύμπτυξη όλων

Συμπτώματα

Το ακόλουθο μήνυμα λάθους ενδέχεται να δημιουργηθεί από το πρόγραμμα οδήγησης ODBC του Microsoft SQL Server, ιδιαίτερα όταν χρησιμοποιείτε το πρόγραμμα οδήγησης ODBC σε περιβάλλοντα ομαδοποιημένη σύνδεσης όπως το Internet Information Server (IIS):
Σφάλμα 0x8000FFFF Καταστροφική αποτυχία
Οι τυπικές ενδείξεις ότι χρησιμοποιείται με επιτυχία το πρόγραμμα οδήγησης για διάφορα χρονικό διάστημα, αλλά το σφάλμα παρουσιάζεται στη συνέχεια, όταν επιχειρείτε να ανοίξετε ένα αντικείμενο connection.

Αυτό το ζήτημα παρουσιάζεται με το 3.70.0690 Δόμηση του προγράμματος οδήγησης ODBC του Microsoft SQL Server (Sqlsrv32.dll), αλλά δεν παρουσιάζεται με παλαιότερες εκδόσεις. Επίσης, το πρόβλημα δεν παρουσιάζεται όταν χρησιμοποιείτε την εγγενή SQL Server παροχής Microsoft OLE DB (αρχείου Sqloledb.dll).

Αιτία

Το πρόγραμμα οδήγησης Microsoft SQL Server ODBC φορτώνει το αρχείο στο Winmm.dll για λειτουργίες χρονισμού. Ενώ στο Winmm.dll είναι κυρίως πολυμέσων DLL, περιέχει ορισμένες λειτουργίες χρονισμού που επιλύουν επίπεδο χιλιοστών του δευτερολέπτου και το πρόγραμμα οδήγησης ODBC του Microsoft SQL Server χρησιμοποιεί αυτές τις λειτουργίες για θέματα εσωτερικής χρονισμού.

Το 3.70.0690 build του προγράμματος οδήγησης ODBC του Microsoft SQL Server, στο Winmm.dll είναι φορτώσεως πρόωρα και δείκτες συνάρτησης δεν είναι να μηδενιστούν. Επομένως, εμφανίζεται ο δείκτης συνάρτησης για να αναφερθείτε σε μια έγκυρη διεύθυνση αλλά στη θέση που να οδηγεί στη μνήμη δεν είναι πλέον έγκυρη.

Αυτή η παραβίαση πρόσβασης (AV) εντοπίζεται από εξαίρεση χειρισμό του OLE DB στοιχεία της υπηρεσίας και, στη συνέχεια, επιστρέφεται ένα μήνυμα 0x08000FFFF "καταστροφική αποτυχία" στον υπολογιστή-πελάτη.

Προτεινόμενη αντιμετώπιση

Μια υποστηριζόμενη επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft, αλλά προορίζεται μόνο για τη διόρθωση του ζητήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε τη μόνο σε υπολογιστές που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η ενημέρωση κώδικα ενδέχεται να λάβετε πρόσθετες δοκιμές. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, η Microsoft συνιστά να περιμένετε έως το επόμενο Microsoft Data Access Components service pack που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Για να επιλύσετε αμέσως αυτό το ζήτημα, επικοινωνήστε με υπηρεσίες υποστήριξης προϊόντων της Microsoft για να αποκτήσετε την ενημέρωση κώδικα. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσίες υποστήριξης προϊόντων της Microsoft και πληροφορίες σχετικά με το κόστος υποστήριξης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.Microsoft.com/default.aspx?scid=fh.EN-USCNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS)
ΣΗΜΕΊΩΣΗ: Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης μπορεί να ακυρωθεί εάν ένας μηχανικός υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημα. Το τυπικό κόστος υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και θέματα που αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.

Η αγγλική έκδοση αυτής της ενημέρωσης κώδικα θα πρέπει να έχει τα ακόλουθα χαρακτηριστικά αρχείου ή νεότερα:
   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

				

Εναλλακτικός τρόπος αντιμετώπισης



  • Να επιστρέψετε σε παλιότερη έκδοση του προγράμματος οδήγησης SQL Server ODBC, όπως το 3.70.0623 Δόμηση.

    - ή -
  • Χρησιμοποιήστε την εγγενή παροχής SQL Server (αρχείου Sqloledb.dll).

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα στα προϊόντα της Microsoft που παρατίθενται στην αρχή αυτού του άρθρου.

Αυτό το ζήτημα διορθώθηκε στο MDAC 2.5.

Περισσότερες πληροφορίες

Εάν υπάρχει κάποια αμφιβολία για ή όχι αυτό το σφάλμα είναι η αιτία ενός AV ενδέχεται να παρουσιάζει, ένα βοηθητικό πρόγραμμα TList.exe (από το Windows NT Resource Kit) ή ListDLLs.exe (από sysinternals.com) μπορεί να είναι χρήσιμο για τον προσδιορισμό είτε στο Winmm.dll φορτώθηκε αρχικά στη διαδικασία αλλά καταργείται κατά τη στιγμή της αποτυχίας.

Μη αυτόματη εγκατάσταση

  1. Κλείσιμο ή διακοπή εφαρμογές ή υπηρεσίες που χρησιμοποιούν το αρχείο Sqlsrv32.dll. Αυτό μπορεί να περιλαμβάνει Internet Information Server (IIS), Microsoft Transaction Server (MTS) και ActiveX Data Objects (ADO) ή ODBC εφαρμογές.
  2. Λήψη επείγουσας επιδιόρθωσης (CatastrophicFailure.exe) σε έναν προσωρινό κατάλογο και εκτελέστε το για να εξαγάγετε τα ακόλουθα αρχεία:

    ODBCBCP.dll Sqlsrv32.dll
  3. Εντοπίστε και μετονομάστε την τρέχουσα έκδοση αυτά τα αρχεία, τα οποία πρέπει να είναι στο φάκελο \Winnt\System32 για υπολογιστές Windows NT και στο φάκελο \Windows\System για υπολογιστές με Windows 9 x.
  4. Αντιγράψετε την έκδοση επείγουσας επιδιόρθωσης των αρχείων στην ίδια θέση και πάλι τις υπηρεσίες και εφαρμογές.

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Data Access Components 2.1
Λέξεις-κλειδιά: 
kbHotfixServer kbbug kbfix kbmdac210sp2fix kbodbc210fix kbqfe kbmt KB243349 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:243349  (http://support.microsoft.com/kb/243349/en-us/ )