Μήνυμα λάθους κατά την προσπάθειά σας να συνδεθείτε με μια εμφάνιση του SQL Server 2005: "δεν υπάρχει διαδικασία είναι στο άλλο άκρο της διοχέτευσης" ή "μια υπάρχουσα σύνδεση διακόπηκε υποχρεωτικά από τον απομακρυσμένο κεντρικό υπολογιστή"

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο. Μια παρουσία του Microsoft SQL Server 2005 είναι εγκατεστημένο σε έναν υπολογιστή που εκτελεί Microsoft Windows XP ή τα Microsoft Windows 2000. Προσπαθήστε να συνδεθείτε με την περίοδο λειτουργίας. Σε αυτό το σενάριο, λαμβάνετε ένα από τα ακόλουθα μηνύματα λάθους, ανάλογα με το πρωτόκολλο που χρησιμοποιείτε για τη σύνδεση:
  • Όταν προσπαθείτε να συνδεθείτε με την περίοδο λειτουργίας, χρησιμοποιώντας το πρωτόκολλο επώνυμες διοχετεύσεις ή του πρωτοκόλλου κοινόχρηστης μνήμης, λαμβάνετε το ακόλουθο μήνυμα λάθους:
    Δεν υπάρχει διαδικασία είναι στο άλλο άκρο της διοχέτευσης.
  • Όταν προσπαθείτε να συνδεθείτε με την περίοδο λειτουργίας, χρησιμοποιώντας το πρωτόκολλο TCP/IP, λαμβάνετε το ακόλουθο μήνυμα λάθους:
    Μια υπάρχουσα σύνδεση διακόπηκε υποχρεωτικά από τον απομακρυσμένο κεντρικό υπολογιστή.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ένα πιστοποιητικό που έχει τις προδιαγραφές κλειδιού AT_SIGNATURE χρησιμοποιείται για κρυπτογράφηση Secure Sockets Layer (SSL) για την περίοδο λειτουργίας. Ένα πιστοποιητικό που έχει τις προδιαγραφές κλειδιού AT_SIGNATURE δεν μπορεί να χρησιμοποιηθεί για κρυπτογράφηση SSL του SQL Server 2005. Σε έναν υπολογιστή που εκτελεί τον Microsoft Windows Server 2003, το πιστοποιητικό αναγνωρίζεται ως δεν είναι έγκυρη. Επομένως, η υπηρεσία του SQL Server δεν φορτώνει το πιστοποιητικό και η υπηρεσία δεν ξεκινά. Ωστόσο, σε έναν υπολογιστή που εκτελεί Windows XP ή Windows 2000, η υπηρεσία SQL Server φορτώνει το πιστοποιητικό και η υπηρεσία ξεκινά με επιτυχία. Αυτή η συμπεριφορά προκαλεί τη σύνδεση αποτυχία.

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

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε ένα έγκυρο πιστοποιητικό. Πρέπει να χρησιμοποιήσετε ένα πιστοποιητικό που έχει τις προδιαγραφές κλειδιού AT_EXCHANGE.

Μπορείτε να εξετάσετε τις προδιαγραφές κλειδιού του πιστοποιητικού, χρησιμοποιώντας το βοηθητικό πρόγραμμα Certutil (Certutil.exe). Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Σε μια γραμμή εντολών, εκτελέστε την ακόλουθη εντολή:
    Certutil-αποθήκευση - v μου -CertificateSerialNumber
    Σημείωση Σε αυτήν την εντολή, το CertificateSerialNumber είναι ένα σύμβολο κράτησης θέσης για τον σειριακό αριθμό του πιστοποιητικού που έχετε καθορίσει για την παρουσία. Για να αποκτήσετε τον σειριακό αριθμό του πιστοποιητικού, εντοπίστε το ακόλουθο δευτερεύον κλειδί μητρώου και, στη συνέχεια, λάβετε την τιμή της καταχώρησης μητρώου πιστοποιητικού:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib
  2. Στο κείμενο του αποτελέσματος, εντοπίστε μια ενότητα που μοιάζει με το ακόλουθο:
    CERT_KEY_PROV_INFO_PROP_ID(2):

    Κοντέινερ κλειδιών = c3748a7420955ed4ee1dffb26484a0df_64756357-bf11-4528-b106-59c407d8a6e8

    Υπηρεσία παροχής = υπηρεσία παροχής κρυπτογράφησης SChannel RSA της Microsoft

    ProviderType = c

    Σημαίες = 60

    KeySpec = 1
    Για ένα έγκυρο πιστοποιητικό, η ιδιότητα KeySpec έχει την τιμή 1. Εάν η ιδιότητα KeySpec έχει την τιμή 2, το πιστοποιητικό έχει τις προδιαγραφές κλειδιού AT_SIGNATURE. Επομένως, αντιμετωπίζετε το ζήτημα που αναφέρεται στην ενότητα "Συμπτώματα" όταν χρησιμοποιείτε το πιστοποιητικό.

Κατάσταση

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

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

Συνιστούμε ιδιαίτερα να χρησιμοποιήσετε Διαχείριση ρύθμισης παραμέτρων του SQL Server για να καθορίσετε ένα πιστοποιητικό για μια παρουσία. Διαχείριση ρύθμισης παραμέτρων του SQL Server εμφανίζει μόνο τα πιστοποιητικά που είναι έγκυρος για χρήση από το διακομιστή. Επομένως, μπορείτε να αποφύγετε επιλέγοντας ένα πιστοποιητικό που δεν είναι έγκυρη.
Ιδιότητες

Αναγνωριστικό άρθρου: 919710 - Τελευταία αναθεώρηση: 14 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια