Ενδέχεται να λάβετε ένα μήνυμα λάθους 7391 στον SQL Server 2000 κατά την εκτέλεση μιας κατανεμημένης συναλλαγής σε ένα συνδεδεμένο διακομιστή μετά την εγκατάσταση του Windows Server 2003 ή Windows XP Service Pack 2

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 839279 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν εκτελείτε μια κατανεμημένη συναλλαγή σε μια παρουσία του SQL Server, ενδέχεται να λάβετε ένα μήνυμα λάθους παρόμοιο με το ακόλουθο:

Διακομιστής: Μήνυμα λάθους 7391, επίπεδο 16, 1, κατάσταση, γραμμή 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction. [Η υπηρεσία παροχής OLE/DB επέστρεψε μήνυμα: νέα συναλλαγή δεν είναι δυνατό να καταχωρήσει με τον καθορισμένο συντονισμό συναλλαγών.] Ανίχνευση σφάλματος OLE DB [OLE/DB Provider 'Η SQLOLEDB' ITransactionJoin::JoinTransaction επέστρεψε 0x8004d00a].


Αυτό το ζήτημα ενδέχεται να παρουσιαστεί όταν ισχύει μία από τις ακόλουθες συνθήκες:
  • Microsoft Windows Server 2003 ή Microsoft Windows XP Service Pack 2 (SP2) είναι εγκατεστημένο στον υπολογιστή που προετοιμάζει την κατανεμημένη συναλλαγή.
  • Microsoft Windows Server 2003 ή Microsoft Windows XP SP2 είναι εγκατεστημένο στον απομακρυσμένο υπολογιστή που εκτελεί τον Microsoft SQL Server 2000, και αυτός ο υπολογιστής συνδέεται με τον υπολογιστή που προετοιμάζει την κατανεμημένη συναλλαγή.

Αιτία

Αυτό το ζήτημα παρουσιάζεται εξαιτίας ενός ή περισσότερων από τους παρακάτω λόγους:
  • Κατανεμημένο Microsoft Transaction Coordinator (MSDTC) είναι απενεργοποιημένη για συναλλαγές στο δίκτυο.
  • Είναι ενεργοποιημένο το τείχος προστασίας των Windows στον υπολογιστή. Από προεπιλογή, το τείχος προστασίας των Windows αποκλείει Microsoft Distributed Transaction Coordinator (MSDTC) πρόγραμμα.

    ΣΗΜΕΙΩΣΗΑυτό το ζήτημα ενδέχεται να παρουσιαστεί ακόμα και όταν τα Windows τείχος προστασίας είναι απενεργοποιημένο.

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

ΣημαντικόΑυτή ενότητα, μέθοδο ή εργασία περιέχει βήματα που θα σας πληροφορήσει πώς να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Κατά συνέπεια, βεβαιωθείτε ότι ακολουθείτε προσεκτικά τα εξής βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου προτού το τροποποιήσετε. Με αυτόν τον τρόπο, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
322756Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows


Για να επιλύσετε αυτό το ζήτημα, ακολουθήστε τα εξής βήματα στον υπολογιστή όπου είναι εγκατεστημένα τα Windows Server 2003 ή Windows XP SP2:
  1. Βεβαιωθείτε ότι τοΣυνδεθείτε ωςλογαριασμός για την υπηρεσία MSDTC είναι τοΥπηρεσία δικτύουΛογαριασμός. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
    1. Κάντε κλικStart, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
    2. ΣτοΕκτέλεσηπαράθυρο διαλόγου, πληκτρολογήστεServices.msc, και στη συνέχεια κάντε κλικ στο κουμπίOk.
    3. ΣτοSERVICESπαράθυρο, εντοπίστε τηDistributed Transaction Coordinatorυπηρεσία στην περιοχήNAMEστο δεξιό τμήμα του παραθύρου.
    4. Κάτω από τοΣυνδεθείτε ωςστήλη, δείτε αν τοΣυνδεθείτε ωςο λογαριασμός είναιΥπηρεσία δικτύουήLocal System.

      Αν υπάρχει ήδη ο φάκελοςΣυνδεθείτε ωςο λογαριασμός είναιΥπηρεσία δικτύου, μεταβείτε στο βήμα 2. Αν υπάρχει ήδη ο φάκελοςΣυνδεθείτε ωςο λογαριασμός είναιLocal Systemλογαριασμός, συνεχίστε με τα παρακάτω βήματα.
    5. Κάντε κλικStart, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
    6. ΣτοΕκτέλεσηπαράθυρο διαλόγου, πληκτρολογήστεCmd, και στη συνέχεια κάντε κλικ στο κουμπίOk.
    7. Στη γραμμή εντολών, πληκτρολογήστεNet stop msdtcδιακοπή της υπηρεσίας MSDTC.
    8. Στη γραμμή εντολών, πληκτρολογήστεMsdtc –uninstallΓια να καταργήσετε την υπηρεσία MSDTC.
    9. Στη γραμμή εντολών, πληκτρολογήστεRegeditΓια να ανοίξετε τον Επεξεργαστή μητρώου.
    10. Στον Επεξεργαστή Μητρώου (Registry Editor), εντοπίστε το ακόλουθο κλειδί:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
      Κλειδί μητρώου.

      Διαγραφή αυτού του κλειδιού.
    11. Κλείστε τον Επεξεργαστή Μητρώου.
    12. Στη γραμμή εντολών, πληκτρολογήστεMsdtc –installΓια να εγκαταστήσετε το MSDTC.
    13. Στη γραμμή εντολών, πληκτρολογήστεΚαθαρή εκκίνηση του msdtcΓια να ξεκινήσετε την υπηρεσία MSDTC.

      Σημειώστε ότι τοΣυνδεθείτε ωςλογαριασμού για την υπηρεσία MSDTC έχει ρυθμιστείΥπηρεσία δικτύουΛογαριασμός.
  2. Για να ενεργοποιήσετε το MSDTC ώστε να επιτρέπεται η συναλλαγή δικτύου. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
    1. Κάντε κλικStart, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
    2. ΣτοΕκτέλεσηπαράθυρο διαλόγου, πληκτρολογήστεdcomcnfg.exe, και στη συνέχεια κάντε κλικ στο κουμπίOk.
    3. ΣτοΥπηρεσίες στοιχείων (Component Services)παράθυρο, αναπτύξτε το στοιχείοΥπηρεσίες στοιχείων (Component Services)expandΥπολογιστέςκαι, στη συνέχεια, αναπτύξτε το στοιχείοΟ Υπολογιστής μου (My Computer).
    4. Κάντε δεξιό κλικ στο στοιχείοΟ Υπολογιστής μου (My Computer), και στη συνέχεια κάντε κλικ στο κουμπίΙδιότητες (Properties).
    5. ΣτοΜου Ιδιότητες υπολογιστήπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίΡύθμιση παραμέτρων ασφαλείαςΣτο διακομιστήMSDTCTAB.
    6. ΣτοΡύθμιση παραμέτρων ασφαλείαςπαράθυρο διαλόγου πλαίσιο, κάντε κλικ για να επιλέξετε τοΠρόσβαση DTC δικτύουΠλαίσιο ελέγχου.
    7. Για να επιτρέψετε την κατανεμημένη συναλλαγή ώστε να εκτελείται σε αυτόν τον υπολογιστή από έναν απομακρυσμένο υπολογιστή, κάντε κλικ για να επιλέξετε τοAllow InboundΠλαίσιο ελέγχου.
    8. Για να επιτρέψετε την κατανεμημένη συναλλαγή ώστε να εκτελείται σε έναν απομακρυσμένο υπολογιστή από αυτόν τον υπολογιστή, κάντε κλικ για να επιλέξετε τοAllow OutboundΠλαίσιο ελέγχου.
    9. Κάτω από τοΕπικοινωνία διαχείρισης συναλλαγώνομάδα, κάντε κλικ για να επιλέξετε τοΔεν απαιτείται έλεγχος ταυτότητας (No Authentication Required)Επιλογή. SETΔεν απαιτείται έλεγχος ταυτότητας (No Authentication Required)στον υπολογιστή-πελάτη και τα απομακρυσμένα συστήματα.
    10. ΣτοΡύθμιση παραμέτρων ασφαλείαςπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίOk.
    11. ΣτοΜου Ιδιότητες υπολογιστήπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίOk.
  3. Ρυθμίστε τις παραμέτρους του τείχους προστασίας των Windows για να συμπεριλάβετε το πρόγραμμα MSDTC και να συμπεριλάβετε τη θύρα 135 ως εξαίρεση. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
    1. Κάντε κλικStart, και στη συνέχεια κάντε κλικ στο κουμπίΕκτέλεση.
    2. ΣτοΕκτέλεσηπαράθυρο διαλόγου, πληκτρολογήστεfirewall.cpl, και στη συνέχεια κάντε κλικ στο κουμπί OK
    3. ΣτοΟ πίνακας ελέγχουΔιπλό κλικτο Τείχος προστασίας των Windows.
    4. Στοτο Τείχος προστασίας των Windowsπαράθυρο διαλόγου, κάντε κλικ στο κουμπίΠροσθήκη προγράμματοςΣτο διακομιστήΕξαιρέσειςTAB.
    5. ΣτοΠροσθήκη προγράμματοςπαράθυρο διαλόγου, κάντε κλικ στοΑναζήτησηκουμπί και, στη συνέχεια, εντοπίστε το αρχείο MSDTC.exe. Από προεπιλογή, το αρχείο αποθηκεύεται με το<installation drive="">: \Windows\System32</installation>Φάκελος.
    6. ΣτοΠροσθήκη προγράμματοςπαράθυρο διαλόγου, κάντε κλικ στο κουμπίOk.
    7. Στοτο Τείχος προστασίας των Windowsπαράθυρο διαλόγου, κάντε κλικ για να επιλέξετε τοMSDTCμε την επιλογή τουΠρογράμματα και υπηρεσίεςΛίστα (List).
    8. Κάντε κλικΠροσθήκη θύραςΣτο διακομιστήΕξαιρέσειςTAB.
    9. ΣτοΠροσθήκη μιας θύραςπαράθυρο διαλόγου, πληκτρολογήστε135ΣτοΑριθμός θύρας (Port number)πλαίσιο κειμένου και στη συνέχεια κάντε κλικ για να επιλέξετε τοTCPΕπιλογή.
    10. ΣτοΠροσθήκη μιας θύραςπαράθυρο διαλόγου, πληκτρολογήστε ένα όνομα για την εξαίρεση στο στοNAMEπλαίσιο κειμένου και στη συνέχεια κάντε κλικOk.
    11. Στοτο Τείχος προστασίας των Windowsπαράθυρο διαλόγου πλαίσιο, επιλέξτε το όνομα που χρησιμοποιείται για την εξαίρεση στο βήμα j με τοΠρογράμματα και υπηρεσίεςλίστα και στη συνέχεια κάντε κλικ στο κουμπίOk.
  4. Ελέγξτε τη λειτουργία ping από τον κεντρικό διακομιστή στον απομακρυσμένο διακομιστή, καθώς και από τον απομακρυσμένο διακομιστή στο διακομιστή του κεντρικού υπολογιστή, χρησιμοποιώντας το όνομα netbios (όνομα διακομιστή, χωρίς τον τομέα). Microsoft Distributed Transaction Coordinator uses the netbios name, not the fully qualified domain name, to locate servers. If name resolution fails, distributed transactions will fail. If pings using the netbios name fails, refer to the following knowledge base article:
    172218Σειρά επίλυσης ονομάτων κεντρικού υπολογιστή TCP/IP της Microsoft

Κατάσταση

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

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

Βήματα για την αναπαραγωγή της συμπεριφοράς

  1. Συνδεθείτε με έναν υπολογιστή με Windows Server 2003 ή εγκατεστημένο το Windows XP SP2.
  2. Έναρξη Query Analyzer.
  3. Για να προσθέσετε έναν απομακρυσμένο υπολογιστή που εκτελεί τον Microsoft SQL Server 2000 ως ένα συνδεδεμένο διακομιστή. Για να γίνει αυτό, εκτελέστε την ακόλουθη πρόταση Transact-SQL στο ερώτημα "Ανάλυση":
    EXEC sp_addlinkedserver  '<remote_server>',  N'SQL SERVER'
    GO

    ΣΗΜΕΙΩΣΗΑντικαταστήστε το τμήμαremote_serverμε το όνομα του υπολογιστή που πρέπει να ρυθμιστούν ως συνδεδεμένου διακομιστή.
  4. Εκτέλεση μιας κατανεμημένης συναλλαγής μεταξύ αυτού του υπολογιστή και του απομακρυσμένου υπολογιστή. Για να γίνει αυτό, εκτελέστε την ακόλουθη πρόταση Transact-SQL στο ερώτημα "Ανάλυση":
    SET xact_abort ON 
    GO
    USE  pubs
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT  *  FROM <remote_server>.pubs.dbo.authors
    COMMIT TRAN
    GO
    
    Ενδέχεται να εμφανιστεί το μήνυμα λάθους που αναφέρεται στην ενότητα "Συμπτώματα".

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση παραμέτρων των Windows XP Service Pack 2 για χρήση με το SQL Server 2000, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
841249Τρόπος ρύθμισης των παραμέτρων των Windows XP Service Pack 2 για χρήση με τον SQL Server

Ιδιότητες

Αναγν. άρθρου: 839279 - Τελευταία αναθεώρηση: Πέμπτη, 23 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Windows XP Embedded
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Λέξεις-κλειδιά: 
kbregistry kberrmsg kbdtc kbdomain kbauthentication kbtransaction kbrpc kbprb kbmt KB839279 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:839279

Αποστολή σχολίων

 

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