Αναγν. άρθρου: 811889 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0 Τρόπος αντιμετώπισης του μηνύματος λάθους "Δεν είναι δυνατή η δημιουργία περιβάλλοντος SSPI"
Σε αυτήν τη σελίδαΠερίληψη Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο αντιμετώπισης του
το μήνυμα λάθους "Δεν είναι δυνατή η δημιουργία περιβάλλοντος SSPI" πιο τυπικό πηγές. Μπορείτε
ενδέχεται να λάβετε αυτό το μήνυμα λάθους υπό τις ακόλουθες συνθήκες:
Κατανόηση της ορολογίας Kerberos και υπηρεσία κύριο όνομαΤο πρόγραμμα οδήγησης SQL Server σε έναν υπολογιστή-πελάτη χρησιμοποιεί ενσωματωμένη ασφαλείας για το διακριτικό ασφαλείας των Windows του λογαριασμού χρήστη για την επιτυχή συνδεθείτε σε έναν υπολογιστή που εκτελεί τον SQL Server. Το διακριτικό ασφαλείας των Windows είναι ανατεθεί από το πρόγραμμα-πελάτη σε υπολογιστή που εκτελεί τον SQL Server. Η πρόταση SQL Πρόγραμμα οδήγησης του διακομιστή εκτελεί αυτήν την ανάθεση όταν είναι διακριτικό ασφαλείας του χρήστη ανατέθηκε από έναν υπολογιστή σε έναν άλλο χρησιμοποιώντας ένα από τα εξής ρυθμίσεις παραμέτρων:
Το σφάλμα "Δεν είναι δυνατή η δημιουργία περιβάλλοντος SSPI" δημιουργούνται όταν SSPI χρησιμοποιεί Kerberos για να αναθέσετε μέσω TCP/IP και Kerberos δεν Ολοκλήρωση απαραίτητες λειτουργίες στον πληρεξούσιο με επιτυχία ασφαλείας χρήστη το διακριτικό στον υπολογιστή προορισμού που εκτελεί τον SQL Server. Γιατί η διασύνδεση υπηρεσίας παροχής υποστήριξης ασφαλείας επιλέγει NTLM ή KerberosΤο Kerberos χρησιμοποιεί ένα αναγνωριστικό που ονομάζεται "Υπηρεσία κύριο όνομα" (SPN). Σκεφτείτε ένα SPN ως τομέα ή σύμπλεγμα δομών μοναδικό αναγνωριστικό της παρουσίας ορισμένων σε ένα πόρων διακομιστή δικτύου. Μπορείτε να έχετε ένα SPN για μια υπηρεσία Web για SQL η υπηρεσία, ή για μια υπηρεσία SMTP. Μπορείτε επίσης να έχετε πολλές υπηρεσία Web εμφανίσεις στον ίδιο φυσικό υπολογιστή που έχει ένα μοναδικό κύριο όνομα Υπηρεσίας.Ένα κύριο όνομα Υπηρεσίας για τον SQL Server είναι αποτελείται από τα ακόλουθα στοιχεία:
Όταν το πρόγραμμα οδήγησης SQL Server σε έναν υπολογιστή-πελάτη χρησιμοποιεί ενσωματωμένη ασφάλεια σύνδεσης SQL Server, τον κωδικό του προγράμματος οδήγησης του προγράμματος-πελάτη προσπαθεί να επιλύσει το έγκυρο DNS του υπολογιστή που εκτελεί SQL Διακομιστής χρησιμοποιώντας WinSock networking APIs. Για να εκτελέσετε αυτήν τη λειτουργία, το πρόγραμμα οδήγησης κώδικα κλήσεις της gethostbyname και gethostbyaddr WinSock APIs. Ακόμη και αν ένα όνομα ή διεύθυνση του κεντρικού υπολογιστή IP μεταβιβάστηκε ως το το όνομα του υπολογιστή που εκτελεί τον SQL Server, το πρόγραμμα οδήγησης SQL Server προσπαθεί να επίλυση έγκυρο DNS του υπολογιστή, εάν χρησιμοποιείτε τον υπολογιστή ενσωματωμένη ασφάλεια. Όταν το πρόγραμμα οδήγησης SQL Server στον υπολογιστή-πελάτη επιλύει το πλήρως αναγνωρισμένο DNS του υπολογιστή που εκτελεί τον SQL Server αντίστοιχο DNS χρησιμοποιείται για να σχηματίσουν το SPN για αυτόν τον υπολογιστή. Επομένως, οποιαδήποτε ζητήματα που αφορούν τον τρόπο το όνομα ή διεύθυνση του κεντρικού υπολογιστή IP έχει επιλυθεί για να το πλήρως ειδική DNS από WinSock μπορεί να προκαλέσει το πρόγραμμα οδήγησης SQL Server για να δημιουργήσετε ένα μη έγκυρο SPN για τον υπολογιστή που εκτελεί τον SQL Server. Για παράδειγμα, το μη έγκυρη SPN που το πρόγραμμα οδήγησης SQL Server-πελάτη να φόρμας ως επιλυμένο πλήρως είναι αναγνωρισμένο DNS:
Ο συντελεστής κλειδιού που καθιστά Kerberos επιτυχία ελέγχου ταυτότητας είναι έγκυρη λειτουργία του DNS στο δίκτυο. Μπορείτε να επιβεβαιώσετε αυτήν τη λειτουργικότητα του υπολογιστή-πελάτη και διακομιστή χρησιμοποιώντας την εντολή Ping βοηθητικό πρόγραμμα γραμμής εντολών. Στον υπολογιστή-πελάτη, εκτελέστε την ακόλουθη εντολή για να Μάθετε τη διεύθυνση IP του διακομιστή που εκτελεί τον SQL Server (όπου το όνομα του υπολογιστή που εκτελεί τον SQL Server είναι SQLServer1): ping sqlserver1 Για να δείτε εάν το βοηθητικό πρόγραμμα γραμμής εντολών Ping επιλύει το
έγκυρο DNS του SQLServer1, εκτελέστε την ακόλουθη εντολή:ping - ένα Διεύθυνση IP Για παράδειγμα: C:\>ping SQLSERVER1
Pinging SQLSERVER1 [123.123.123.123] with 32 bytes of data:
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Ping statistics for 123.123.123.123:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>ping -a 123.123.123.123
Pinging SQLSERVER1.northamerica.corp.mycompany.com [123.123.123.123] with 32 bytes of data:
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Ping statistics for 123.123.123.123:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>Δημιουργία ονόματος αρχής υπηρεσίας SQL ServerΑυτό είναι ένα από τα σημαντικά τμήματα του Kerberos και του SQL Server αλληλεπίδραση. Με τον SQL Server, μπορείτε να εκτελέσετε την υπηρεσία SQL Server σε ένα από τα τα ακόλουθα: λογαριασμός LocalSystem, ένα λογαριασμό τοπικού χρήστη ή χρήστες τομέα λογαριασμού. Όταν ξεκινά η παρουσία της υπηρεσίας SQL Server, προσπαθεί να καταχωρήσει την κάτοχος κύριου ονόματος Υπηρεσίας καταλόγου Active Directory, χρησιμοποιώντας το DsWriteAccountSpn Κλήση API. Εάν η κλήση δεν είναι επιτυχής, είναι η ακόλουθη προειδοποίηση είστε συνδεδεμένοι στο πρόγραμμα προβολής συμβάντων:Πηγή: MSSQLServer Αναγνωριστικό_συμβάντος: 19011 Περιγραφή: SuperSocket ΠΛΗΡΟΦΟΡΙΕΣ: (SpnRegister): σφάλμα 8344. Για περισσότερες πληροφορίες πληροφορίες σχετικά με το DsWriteAccountSpn λειτουργία, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:http://msdn2.Microsoft.com/en-us/library/ms676056.aspx
(http://msdn2.microsoft.com/en-us/library/ms676056.aspx)
Απλοποιημένη επεξήγησηΕάν εκτελείται η υπηρεσία SQL Server το λογαριασμό LocalSystem, το SPN καταχωρείται αυτόματα και Kerberos αλληλεπιδρά με επιτυχία ο υπολογιστής που εκτελεί τον SQL Server. Ωστόσο, εάν εκτελείτε τον SQL Server υπηρεσία σε ένα λογαριασμό τομέα ή σε έναν τοπικό λογαριασμό, η προσπάθεια δημιουργίας το SPN θα αποτύχει στις περισσότερες περιπτώσεις, επειδή ο λογαριασμός τομέα και την τοπική λογαριασμός έχει το δικαίωμα να ορίζουν SPN δικό τους. Όταν είναι η δημιουργία SPN δεν είναι επιτυχής, αυτό σημαίνει ότι η SPN δεν έχει οριστεί για τον υπολογιστή που είναι εκτελεί τον SQL Server. Εάν ελέγξετε χρησιμοποιώντας ένα λογαριασμό διαχειριστή τομέα ως SQL Λογαριασμός υπηρεσίας διακομιστή, το SPN δημιουργήθηκε με επιτυχία επειδή ο τομέας Οι πιστοποιήσεις διαχειριστή επίπεδο που πρέπει να έχετε για να δημιουργήσετε ένα κύριο όνομα Υπηρεσίας υπάρχει.Επειδή δεν χρησιμοποιείτε ένα λογαριασμό διαχειριστή τομέα για να εκτελείται η υπηρεσία SQL Server (για να αποφύγετε κινδύνους για την ασφάλεια), ο υπολογιστής που είναι εκτελεί τον SQL Server δεν μπορεί να δημιουργήσει το δικό του κύριου ονόματος Υπηρεσίας. Επομένως, πρέπει με μη αυτόματο τρόπο Δημιουργία ενός SPN για τον υπολογιστή σας που εκτελεί τον SQL Server, εάν θέλετε να χρησιμοποιήσετε Kerberos όταν συνδέεστε σε έναν υπολογιστή που εκτελεί τον SQL Server. Αυτό είναι TRUE αν εκτελείται το SQL Server σε ένα λογαριασμό χρήστη τομέα ή στην περιοχή τοπικού ο λογαριασμός χρήστη. SPN που δημιουργείτε πρέπει να εκχωρηθεί στο λογαριασμό υπηρεσίας του το Η υπηρεσία SQL Server στον συγκεκριμένο υπολογιστή. Δεν είναι δυνατό να αντιστοιχιστεί το SPN κοντέινερ υπολογιστή εκτός εάν η εκκίνηση του υπολογιστή που εκτελεί τον SQL Server με το τοπικό σύστημα. Πρέπει να υπάρχει μία και μόνο μία SPN και πρέπει να αντιστοιχιστεί στο κατάλληλο κοντέινερ. Συνήθως, αυτή είναι η τρέχουσα υπηρεσία SQL Server λογαριασμού. Ωστόσο, αυτός είναι ο λογαριασμός υπολογιστή με τοπικό σύστημα. Επιβεβαιώστε τον τομέαΒεβαιωθείτε ότι ο τομέας στον οποίο συνδέεστε μπορεί να επικοινωνήσει με ο τομέας στον οποίο ανήκει ο υπολογιστής που εκτελεί τον SQL Server. Πρέπει να υπάρχουν είναι επίσης κατάλληλη ανάλυση ονόματος του τομέα.
Τρόπος ρύθμισης παραμέτρων της υπηρεσίας SQL Server για να δημιουργήσετε δυναμικά SPN για τις παρουσίες του SQL ServerΓια να ρυθμίσετε την υπηρεσία SQL Server για να δημιουργήσετε δυναμικά SPN, πρέπει να τροποποιήσετε τις ρυθμίσεις ελέγχου πρόσβασης του λογαριασμού στην υπηρεσία καταλόγου Active Directory. Πρέπει να εκχωρήσετε το δικαίωμα "Ανάγνωση servicePrincipalName" και το δικαίωμα "Εγγραφής servicePrincipalName" για το λογαριασμό της υπηρεσίας SQL Server.Προειδοποίηση Εάν χρησιμοποιείτε το συμπληρωματικό πρόγραμμα Active Directory Service Interfaces (ADSI) Edit, το βοηθητικό πρόγραμμα LDP ή οποιαδήποτε άλλη LDAP έκδοση 3 υπολογιστές-πελάτες και τροποποιήσετε εσφαλμένα τα χαρακτηριστικά αντικειμένων της υπηρεσίας καταλόγου Active Directory, μπορεί να προκαλέσει σοβαρά προβλήματα. Αυτά τα ζητήματα ενδέχεται να απαιτούν την επανεγκατάσταση του Microsoft Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server ή Windows και Exchange. Δεν μπορούμε να εγγυηθούμε ότι τα προβλήματα που προκαλούνται από εσφαλμένη τροποποίηση των χαρακτηριστικών των αντικειμένων της υπηρεσίας καταλόγου Active Directory μπορεί να επιλυθεί. Τροποποιήστε τα χαρακτηριστικά αυτά με δική σας ευθύνη. Σημείωση Για να παραχωρήσετε τα κατάλληλα δικαιώματα και τα δικαιώματα χρήστη για το λογαριασμό SQL Server εκκίνησης, πρέπει να είστε συνδεδεμένοι ως διαχειριστής τομέα ή πρέπει να ζητήσετε από το διαχειριστή του τομέα σας, για να εκτελέσετε αυτήν την εργασία. Για να ρυθμίσετε την υπηρεσία SQL Server για να δημιουργήσετε δυναμικά SPN, ακολουθήστε τα εξής βήματα:
Επαληθεύστε το διακομιστή περιβάλλονΟρισμένες βασικές ρυθμίσεις στον υπολογιστή όπου είναι SQL Server εγκατάσταση:
Επιβεβαιώστε το περιβάλλον προγράμματος-πελάτηΒεβαιωθείτε ότι ο υπολογιστής-πελάτης:
Επιβεβαιώστε το βοηθητικό πρόγραμμα δικτύου προγράμματος-πελάτηΤο πρόγραμμα-πελάτη δικτύου Utility (CNU) παραδίδονται μαζί με Microsoft Data Access Components (MDAC) και χρησιμοποιείται για τη ρύθμιση παραμέτρων σύνδεση σε υπολογιστές που εκτελούν SQL Server. Μπορείτε να χρησιμοποιήσετε το MDAC Βοηθητικό πρόγραμμα Cliconfg.exe CNU για να ρυθμίσετε τη σύνδεση:
Πληροφορίες για τη συλλογή, για να ανοίξετε μια υπόθεση υποστήριξης προϊόντος της Microsoft (PSS)Εάν δεν μπορείτε να αποκτήσετε την αιτία του ζητήματος, χρησιμοποιώντας το τα βήματα σε αυτό το άρθρο αντιμετώπισης προβλημάτων, συγκεντρώνει τις παρακάτω πληροφορίες και Άνοιγμα υπόθεσης υποστήριξης προϊόντος της Microsoft (PSS):Για μια πλήρη λίστα των Πληροφορίες σχετικά με την υποστήριξη και αριθμούς τηλεφώνου υπηρεσίες υποστήριξης προϊόντων της Microsoft κόστος, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web: http://support.Microsoft.com/contactus/?ws=support
(http://support.microsoft.com/contactus/?ws=support)
Πώς να ρυθμίσετε με μη αυτόματο τρόπο μια υπηρεσία κύριο όνομα για τον SQL ServerΓια περισσότερες πληροφορίες σχετικά με το πώς να ρυθμίσετε με μη αυτόματο τρόπο μια υπηρεσία κύριο όνομα για τον SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:319723
(http://support.microsoft.com/kb/319723/
)
Τρόπος χρήσης του ελέγχου ταυτότητας Kerberos στον SQL Server Η διασύνδεση υπηρεσίας παροχής υποστήριξης ασφαλείας (SSPI) είναι η διασύνδεση
για τα Microsoft Windows NT ασφαλείας που χρησιμοποιείται για έλεγχο ταυτότητας Kerberos, και
υποστηρίζει το σχήμα ελέγχου ταυτότητας της υπηρεσίας παροχής υποστήριξης ασφαλείας NTLM.
Έλεγχος ταυτότητας προκύπτει στο επίπεδο του λειτουργικού συστήματος, όταν συνδέεστε σε ένα
Τομέα των Windows. Ο έλεγχος ταυτότητας Kerberos είναι διαθέσιμη μόνο σε βασίζεται στα Windows 2000
Οι υπολογιστές που έχουν ενεργοποιηθεί Kerberos και χρήση υπηρεσίας καταλόγου Active Directory. SSPI χρησιμοποιείται μόνο για συνδέσεις TCP/IP που γίνονται με τη χρήση Έλεγχος ταυτότητας των Windows. (Έλεγχος ταυτότητας των Windows είναι επίσης γνωστή ως αξιόπιστη Συνδέσεις ή ενοποιημένη ασφάλεια.) SSPI δεν χρησιμοποιείται από επώνυμους διαύλους ή Οι συνδέσεις πολλαπλών πρωτοκόλλων. Επομένως, μπορείτε να αποφύγετε το πρόβλημα ρυθμίζοντας υπολογιστές-πελάτες σας να συνδεθείτε από ένα πρωτόκολλο εκτός από TCP/IP. Όταν ένα SQL Διακομιστής πελάτης επιχειρεί να χρησιμοποιήσετε την ενσωματωμένη ασφάλεια υποδοχές TCP/IP σε έναν απομακρυσμένο υπολογιστή που εκτελεί τον SQL Server, χρησιμοποιεί τη βιβλιοθήκη δικτύου υπολογιστή-πελάτη SQL Server το API SSPI για να εκτελέσει αντιπροσώπευση ασφαλείας. Το πρόγραμμα-πελάτης δικτύου SQL Server (Dbnetlib.dll) πραγματοποιεί μια κλήση για το AcquireCredentialsHandle συνάρτηση και περάσματα σε "διαπραγμάτευση" για το pszPackage η παράμετρος. Αυτή η επιλογή ειδοποιεί η υποκείμενη υπηρεσία παροχής ασφαλείας για εκτέλεση διαπραγματεύονται αντιπροσώπευση. Στο πλαίσιο αυτό, διαπραγματεύονται μέσα για να δοκιμάσετε είτε Ταυτότητας Kerberos ή NTLM σε υπολογιστές που βασίζονται στα Windows. Με άλλα λόγια, Τα Windows χρησιμοποιούν αντιπροσώπευσης Kerberos, εάν ο υπολογιστής προορισμού που εκτελεί SQL Ο διακομιστής έχει ένα συσχετισμένο, σωστά ρυθμισμένο SPN. Διαφορετικά, τα Windows χρησιμοποιούν το NTLM αντιπροσώπευση. Σημείωση Βεβαιωθείτε ότι δεν χρησιμοποιείτε ένα λογαριασμό με το όνομα "Σύστημα" για να ξεκινήσετε οποιαδήποτε από τις υπηρεσίες SQL Server (MSSQLServer, υπηρεσία SQLServerAgent, MSSearch). Το λέξη-κλειδί ΣΥΣΤΉΜΑΤΟΣ μπορεί να προκαλέσει διενέξεις με το κέντρο διανομής κλειδιών (KDC). Αναφορές Για περισσότερες πληροφορίες σχετικά με τον τρόπο Kerberos και SSPI
works ασφαλείας, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της
Γνωσιακή Βάση της Microsoft: 266080
(http://support.microsoft.com/kb/266080/
)
Απαντήσεις σε συνήθεις ερωτήσεις Kerberos 231789
(http://support.microsoft.com/kb/231789/
)
Διαδικασία τοπικής σύνδεσης για τα Windows 2000 304161
(http://support.microsoft.com/kb/304161/
)
Υποδεικνύεται SSPI αμοιβαίος έλεγχος ταυτότητας του υπολογιστή-πελάτη, αλλά όχι στην πλευρά του διακομιστή 232179
(http://support.microsoft.com/kb/232179/
)
Kerberos διαχείρισης στα Windows 2000 230476
(http://support.microsoft.com/kb/230476/
)
Περιγραφή κοινών σφαλμάτων που σχετίζονται με το Kerberos στα Windows 2000 262177
(http://support.microsoft.com/kb/262177/
)
Πώς να ενεργοποιήσετε την καταγραφή συμβάντων Kerberos 277658
(http://support.microsoft.com/kb/277658/
)
Setspn αποτυγχάνει εάν το όνομα τομέα διαφέρει από το όνομα NetBIOS, όπου είναι καταχωρημένη SPN διακομιστή SQL 244474
(http://support.microsoft.com/kb/244474/
)
Τρόπος επιβολής Kerberos για να χρησιμοποιήσετε το πρωτόκολλο TCP αντί για UDP στον Windows Server 2003, Windows XP και Windows 2000 326985
(http://support.microsoft.com/kb/326985/
)
Τρόπος αντιμετώπισης προβλημάτων που σχετίζονται με το Kerberos στο IIS Για να δείτε τη λευκή βίβλο σχετικά με τον Microsoft SQL Server 2000
ασφαλείας, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web: http://technet.Microsoft.com/en-US/cc984178.aspx
(http://technet.microsoft.com/en-us/cc984178.aspx)
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:811889
(http://support.microsoft.com/kb/811889/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Επιστροφή στην αρχή
