כיצד לפתור את הודעת השגיאה "אין אפשרות ליצור הקשר SSPI"

תרגומי מאמרים תרגומי מאמרים
Article ID: 811889 - View products that this article applies to.
הרחב הכל | כווץ הכל

הבנת הבעיה

כווץ את התמונההרחב את התמונה
assets folding start collapsed
סעיף זה מספק לך את מידע רקע אודות מדוע מתרחשת הודעת השגיאה "אין אפשרות ליצור הקשר SSPI" וכיצד לפתור את השגיאה. ייתכן שתקבל הודעת שגיאה זו אם התנאים הבאים מתקיימים:
  • אתה מתחבר ל- Microsoft SQL Server.
  • אתה משתמש באבטחה משולבת.
  • אימות Kerberos משמש כדי לבצע את ההקצאה אבטחה.
הכרת המונחים Kerberos ושם ראשי של שירות
מנהל ההתקן של SQL Server במחשב הלקוח משתמשת באבטחה משולבת לשימוש אסימון האבטחה חשבון המשתמש של Windows כדי להתחבר בהצלחה למחשב שבו פועל SQL Server. אסימון האבטחה של Windows הוא הוקצה מהלקוח למחשב שבו פועל SQL Server. מנהל ההתקן של שרת SQL מבצע הקצאה זו כאשר אסימון האבטחה של המשתמש מועבר ממחשב אחד למשנהו על-ידי שימוש באחת מהתצורות הבאות:
  • NTLM דרך צינורות בשם (לא באמצעות ממשק ספק תמיכה אבטחה [SSPI])
  • NTLM מעל sockets tcp/IP באמצעות SSPI
  • אימות Kerberos מעל sockets tcp/IP באמצעות SSPI
ממשק ספק תמיכה אבטחה (SSPI) היא ערכה של ממשקי Api של Windows המאפשר הקצאה ואימות הדדי מעל כל שכבת תעבורה נתונים כלליים, כגון רכיבי socket של tcp/IP. לכן, מאפשר SSPI עבור מחשב שבו פועלת מערכת הפעלה של Windows באופן מאובטח להקצות אסימון אבטחה של משתמש ממחשב אחד למשנהו מעל כל שכבת תעבורה המשדרים raw בתים של נתונים.

השגיאה "אין אפשרות ליצור הקשר SSPI" נוצר כאשר SSPI עושה שימוש באימות Kerberos כדי להקצות באמצעות tcp/IP ואימות Kerberos לא ניתן להשלים את הפעולות הנחוצות בהצלחה להקצות אסימון האבטחה של המשתמש במחשב היעד שבו פועל SQL Server.
מדוע הממשק של ספק תמיכת האבטחה עושה שימוש באימות NTLM או Kerberos
אימות Kerberos משתמש מזהה בשם "שם ראשי של שירות" (SPN). שקול SPN כ או ביער של קבוצת המחשבים מזהה ייחודי של מופע מסוימים במשאב שרת. באפשרותך להגדיר SPN עבור שירות אינטרנט, עבור שירות SQL או עבור שירות SMTP. באפשרותך גם לך מופעים מרובים של שירות אינטרנט באותו מחשב פיזי בעל SPN ייחודי.

ה-SPN עבור SQL Server המורכב את הרכיבים הבאים:
  • ServiceClass: זה מזהה את מחלקת שירות כללי. זהו alwaysMSSQLSvc של שרת SQL.
  • מארח: זהו שם התחום המלא DNS של thatis במחשב שבו פועל SQL Server.
  • יציאה: זהו מספר היציאה שבה מאזין השירות.
לדוגמה, SPN אופייניות עבור מחשב שבו פועל SQL Server הוא כדלהלן:
MSSQLSvc/SQLSERVER1.northamerica.corp.mycompany.com:1433
התבנית של ה-SPN עבור מופע ברירת המחדל ותבנית של ה-SPN עבור מופע בעל שם לא יהיו שונים. מספר היציאה היא מה קושר את ה-SPN כדי מופע מסוים.

כאשר מנהל ההתקן של SQL Server במחשב הלקוח משתמשת באבטחה משולבת כדי להתחבר לשרת SQL, הקוד מנהל הלקוח מנסה לזהות את ה-DNS המלא של המחשב שבו פועל SQL Server על-ידי שימוש ב- WinSock לרשת ממשקי Api. כדי לבצע פעולה זו, קוד מנהל התקן קורא gethostbynamegethostbyaddr ממשקי Api של WinSock. גם אם IP כתובת או שם מחשב מארח מועבר כשם של המחשב שבו פועל SQL Server, מנהל שרת SQL מנסה לזהות את ה-DNS המלא של המחשב אם המחשב עושה שימוש באבטחה משולבת.

כאשר מנהל ההתקן של SQL Server במחשב הלקוח פותר DNS המלא של המחשב שבו פועל SQL Server, DNS המתאימים נעשה שימוש כדי ליצור את ה-SPN עבור מחשב זה. לכן, בעיות כלשהן אודות כיצד IP כתובת או שם מחשב מארח מזוהה DNS המלא על-ידי WinSock עלול לגרום את מנהל ההתקן של שרת SQL ליצור SPN לא חוקי עבור המחשב שבו פועל SQL Server.

לדוגמה, ה-לא חוקי Spn היוצרים מנהל ההתקן של SQL Server בצד הלקוח יכול כפי DNS המלא לפענח הן כדלקמן:
  • MSSQLSvc / SQLSERVER1:1433
  • MSSQLSvc/123.123.123.123:1433
  • MSSQLSvc/SQLSERVER1.antartica.corp.mycompany.com:1433
  • MSSQLSvc/SQLSERVER1.dns.northamerica.corp.mycompany.com:1433
כאשר מנהל ההתקן של שרת SQL טפסים SPN אינה חוקית, אימות פועלת עדיין מכיוון שממשק SSPI מנסה לחפש את ה-SPN בשירות הספריות Active Directory, הוא לא מוצא את ה-SPN. אם הממשק SSPI אינו מוצא את ה-SPN, לא מתבצע אימות Kerberos. בנקודה זו, השכבה SSPI עובר למצב האימות NTLM ו הכניסה עושה שימוש באימות NTLM בדרך כלל מצליחה. אם מנהל ההתקן של שרת SQL טפסים SPN חוקית אך לא הוקצה לגורם המתאים, הוא מנסה להשתמש את ה-SPN אך אין. פעולה זו גורמת הודעת השגיאה "אין אפשרות ליצור הקשר SSPI". אם החשבון אתחול שרת SQL הוא חשבון המערכת המקומית, הגורם המתאים הוא שם המחשב. עבור כל חשבון אחר, הגורם המתאים אינו חשבון ההפעלה של שרת SQL. מאחר אימות ינסה להשתמש את ה-SPN הראשונה שהיא מוצאת, ודא כי אין שמות Spn לא מוקצה לגורמים מכילים שגוי. במילים אחרות, יש להקצות את ה-SPN בכל לגורם אחד בלבד.

הגורם המפתח ההופך אימות Kerberos מוצלח הוא פונקציונליות DNS חוקי ברשת. באפשרותך לוודא פונקציונליות זו במחשב הלקוח והן בשרת באמצעות כלי השירות של שורת הפקודה Ping. במחשב הלקוח, הפעל את הפקודה הבאה כדי להשיג את כתובת ה-IP של השרת שבו פועל SQL Server (כאשר שם המחשב שבו פועל SQL Server הוא SQLServer1):
איתות (ping) sqlserver1
כדי לראות אם כלי השירות Ping פותרת את המלא DNS של SQLServer1, הפעל את הפקודה הבאה:
ping - a כתובת 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:\>
כאשר הפקודה ping - a כתובת Ip מתקן ל- DNS המלא הנכון של המחשב שבו פועל SQL Server, הרזולוציה בצד הלקוח הוא גם מוצלח.
יצירת שם ראשי של שירות שרת SQL
זוהי אחת של חלקים חשובים של אימות Kerberos ואת האינטראקציה של שרת SQL. ב- SQL Server, באפשרותך להפעיל את שירות שרת SQL תחת אחד מהבאים: חשבון LocalSystem, חשבון משתמש מקומי או חשבון משתמש תחום. בעת הפעלת המופע של שירות SQL Server, היא מנסה לרשום משלו SPN ב- Active Directory באמצעות שיחה DsWriteAccountSpn API. אם השיחה אינו מצליח, האזהרה הבאה נרשמת במציג האירועים:

מקור: MSSQLServer EventID: תיאור 19011: מידע SuperSocket: (SpnRegister): 8344 שגיאה.

לקבלת מידע נוסף אודות הפונקציה DsWriteAccountSpn , עבור אתר האינטרנט הבא של Microsoft:
http://msdn2.microsoft.com/en-us/library/ms676056.aspx
הסבר פשוט יותר
אם אתה מפעיל את שירות שרת SQL תחת החשבון LocalSystem, רשום באופן אוטומטי ה-SPN ואת האימות Kerberos בהצלחה האינטראקציה עם המחשב שבו פועל SQL Server. עם זאת, אם אתה מפעיל את שירות שרת SQL תחת חשבון תחום או תחת חשבון מקומי, הניסיון ליצור את ה-SPN ייכשל ברוב המקרים מאחר שאין חשבון התחום ואת החשבון המקומי ימינה כדי להגדיר שמות Spn משלהם. בעת יצירת ה-SPN אינו מצליח, משמעות הדבר היא SPN לא מוגדר עבור המחשב שבו פועל SQL Server. אם מחשב באמצעות חשבון מנהל קבוצת מחשבים כחשבון שירות שרת SQL, ה-SPN נוצר בהצלחה מאחר שהאישורים ברמת מנהל תחום הדרושות לך כדי ליצור SPN קיימים.

מכיוון שייתכן לא תשתמש חשבון מנהל קבוצת מחשבים כדי להפעיל את שירות שרת SQL (כדי למנוע סיכון אבטחה), המחשב שבו פועל SQL Server אין אפשרות ליצור SPN משלו. לכן, עליך ליצור באופן ידני SPN עבור המחשב שבו פועל SQL Server אם ברצונך להשתמש באימות Kerberos בעת התחברות למחשב שבו פועל SQL Server. הדבר נכון אם אתה פועל SQL Server תחת חשבון משתמש תחום או תחת חשבון משתמש מקומי. יש להקצות את ה-SPN שתיצור חשבון השירות של שירות SQL Server במחשב מסוים זה. אין אפשרות להקצות את ה-SPN הגורם המכיל של המחשב אלא אם הפעלת המחשב שבו פועל SQL Server עם חשבון המערכת המקומית. חייב להיות SPN אחד בלבד ויש להקצותה לגורם המתאים. בדרך כלל, זהו חשבון שירות שרת SQL הנוכחי, אך זהו הגורם חשבון מחשב עם חשבון המערכת המקומית.
כווץ את התמונההרחב את התמונה
assets folding end collapsed

לפתרון הבעיה

כווץ את התמונההרחב את התמונה
assets folding start collapsed
סעיף זה מציג את השלבים כדי לסייע להבטיח כי המחשב שלך לא נתקל בבעיות SSPI.

ודא את התחום
ודא כי התחום שאליו תתחבר באפשרותך לקיים תקשורת עם המחשבים אליה שייך המחשב שבו פועל SQL Server. עליך גם להיות רזולוציה השם הנכון בתחום.
  1. עליך לוודא כי באפשרותך בהצלחה להיכנס ל- Windows באמצעות חשבון תחום וסיסמה אותו כחשבון הפעלה של שירות SQL Server. לדוגמה, עלולה להתרחש שגיאה SSPI באחד מהמצבים הבאים:
    • חשבון תחום נעול.
    • הסיסמה של החשבון השתנה. עם זאת, אתה לעולם לא מחדש את שירות שרת SQL לאחר הסיסמה שונתה.
  2. אם התחום לכניסה שלך שונה מקבוצת המחשבים של המחשב שבו פועל SQL Server, בדוק את יחסי האמון בין קבוצות המחשבים.
  3. בדוק אם המחשבים אליה שייך השרת והן את חשבון התחום המשמש אותך כדי להתחבר נמצאים באותו יער. פעולה זו נדרשת עבור SSPI לעבודה.
  4. השתמש חשבון אמינים לשם הקצאה אפשרות ב- Active Directory Users ומחשבים בעת הפעלת שרת SQL.

    הערה ' חשבון אמינים לשם הקצאה ' ימני נדרש רק כאשר אתה מקצה האישורים משרת SQL היעד לשרת SQL המרוחק כגון הערות תרחיש הדילוג כפול כמו מבוזרת שאילתות (שאילתות שרת מקושר) המשתמשות באימות של Windows.
  5. השתמש בשמות ראשי של שירות לטפל עבור כלי חשבונות (SetSPN.exe) ב- Windows 2000 Resource Kit. חשבונות מנהל תחום של Windows 2000 או Windows Server 2003 תחום מנהל חשבונות יכולים להשתמש בכלי השירות כדי לקבוע את ה-SPN המוקצה שירות וחשבון. עבור שרת SQL חייב להיות SPN אחד בלבד. יש להקצות את ה-SPN הגורם המתאים, חשבון שירות שרת SQL הנוכחי ברוב המקרים ואת חשבון המחשב בעת הפעלת SQL Server עם חשבון המערכת המקומית. אם אתה מפעיל את שרת SQL שנכנסת למערכת בחשבון LocalSystem, ה-SPN מוגדר באופן אוטומטי. עם זאת, אם אתה משתמש בחשבון תחום כדי להפעיל את SQL Server, או בעת שינוי החשבון המשמש להפעלת SQL Server, עליך להפעיל את SetSPN.exe להסרת פג שמות Spn, ולאחר מכן עליך להוסיף SPN חוקי. לקבלת מידע נוסף, עיין בנושא "הקצאה חשבון אבטחה" ב- SQL Server 2000 ספרים מקוונים. כדי לעשות זאת, עבור אל אתר האינטרנט הבא של Microsoft:
    http://msdn2.microsoft.com/en-us/library/aa905162 (SQL.80).aspx
    לקבלת מידע נוסף אודות ערכות משאבים של Windows 2000, עבור אל אתר האינטרנט הבא של Microsoft:
    http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx?mfr=true
  6. ודא זיהוי שמות המתרחשים כראוי. זיהוי שיטות עשויים לכלול DNS, שם WINS, קבצי Hosts, ואת קבצי Lmhosts. לקבלת מידע נוסף אודות בעיות של זיהוי שמות ופתרון בעיות, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    169790 כיצד לפתור בעיות tcp/IP בסיסי
  7. לקבלת מידע נוסף אודות פתרון בעיות נגישות ובעיות חומת אש עם Active Directory, לחץ על מספרי המאמרים הבאים כדי להציג את המאמרים מתוך מאגר הידע Microsoft Knowledge Base:
    291382 שאלות נפוצות אודות DNS של Windows 2000 ו- Windows Server 2003 DNS
    224196 הגבלת תעבורה השכפול של Active Directory ואת תעבורת RPC לקוח ליציאה מסוימת
קביעת תצורה של שירות SQL Server כדי ליצור שמות Spn באופן דינמי עבור מופעי שרת SQL
כדי להגדיר את שירות שרת SQL כדי ליצור שמות Spn באופן דינאמי, עליך לשנות הגדרות בקרת גישה של החשבון בשירות הספריות Active Directory. עליך להעניק את ההרשאה "קריאה servicePrincipalName" ואת ההרשאה "כתיבה servicePrincipalName" עבור חשבון שירות SQL Server.

אזהרה אם אתה משתמש ביישום ה-snap-in עריכה ממשקי שירות מדריך הכתובות הפעיל (ADSI), בכלי LDP או כל גירסה אחרת של LDAP 3 לקוחות באופן שגוי ותשנה את התכונות של אובייקטי Active Directory, עלול לגרום לבעיות חמורות. בעיות אלה העשויות לחייב אותך להתקין מחדש את Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server, או Windows וגם Exchange. אנו אינה יכולה להבטיח כי תוכל לפתור בעיות הנגרמות על-ידי שינוי באופן שגוי את התכונות של אובייקטים של Active Directory. לשנות תכונות אלה באחריותך הבלעדית.

הערה כדי להעניק ההרשאות המתאימות ואת זכויות משתמש על חשבון הפעלה של SQL Server, עליך להיות מחובר כמנהל קבוצת מחשבים, או עליך לבקש ממנהל תחום כדי לבצע משימה זו.

כדי להגדיר את שירות שרת SQL כדי ליצור שמות Spn באופן דינאמי, בצע את הפעולות הבאות:
  1. לחץ על התחל, לחץ על הפעל, סוג Adsiedit.msc, ולאחר מכן לחץ על אישור.
  2. ADSI Edit יישומי snap-in, הרחב מחשבים [DomainName], הרחב DC =<b00> </b00> RootDomainName, הרחב CN = משתמשים, לחץ לחיצה ימנית על CN =<b00> </b00> AccountName, ולאחר מכן לחץ על מאפיינים.

    הערות
    • DomainName הוא מציין מיקום עבור שם התחום.
    • RootDomainName הוא מציין מיקום עבור שם קבוצת המחשבים המשמשת כבסיס.
    • AccountName הוא מציין מיקום עבור החשבון שציינת כדי להפעיל את שירות שרת SQL.
    • אם תציין חשבון המערכת המקומית כדי להפעיל את שירות שרת SQL, AccountName הוא מציין מיקום עבור החשבון בו אתה משתמש כדי להיכנס ל- Microsoft Windows.
    • אם תציין חשבון משתמש תחום כדי להפעיל את שירות שרת SQL, AccountName הוא מציין מיקום עבור חשבון משתמש של תחום.
  3. ב- CN =<b00> </b00> AccountName בתיבת הדו-שיח מאפיינים, לחץ על הכרטיסיה אבטחה .
  4. בכרטיסיה אבטחה , לחץ על מתקדם.
  5. בתיבת הדו-שיח הגדרות אבטחה מתקדמות , ודא כי העצמית מפורטת תחת ערכי ההרשאה.

    אם עצמי אינו מופיע ברשימה, לחץ על הוספהולאחר מכן הוסף את עצמי.
  6. תחת ערכי הרשאה, לחץ על עצמיולאחר מכן לחץ על עריכה.
  7. בתיבת הדו-שיח ערך הרשאה , לחץ על הכרטיסיה מאפיינים .
  8. בכרטיסיה מאפיינים , לחץ על אובייקט זה בלבד ברשימה החל על , ולאחר מכן ודא כי תיבות הסימון עבור ההרשאות הבאות נבחרו תחת הרשאות:
    • קרא servicePrincipalName
    • כתיבה servicePrincipalName
  9. לחץ על אישור שלוש פעמים ולאחר מכן צא ADSI Edit העזר.
לקבלת עזרה עבור תהליך זה, צור קשר עם התמיכה במוצר של Active Directory ולאחר להזכיר מאמר Microsoft Knowledge Base.

חשוב אנו ממליצים כי לא תעניק WriteServicePrincipalName ימינה לחשבון שירות SQL כאשר התנאים הבאים מתקיימים:
  • ישנם בקרי תחומים מרובים.
  • באשכולות שרת SQL.
בתרחיש זה, ניתן למחוק את ה-SPN עבור שרת ה-SQL עקב השהיית בשכפול של Active Directory. הדבר עלול לגרום לבעיות קישוריות למופע של SQL Server.

נניח שיש לך את הפעולות הבאות:
  • מופע וירטואלי של SQL בשם Sqlcluster עם שני צמתים: צומת A ו- B צומת
  • צומת A מאומתת על-ידי בקר קבוצת המחשבים A ו- B צומת מאומתת על-ידי בקר התחום ב'.


הבאות עלולות להתרחש:
  1. מופע Sqlcluster פעיל בצומת A ורשום את ה-SPN של SQL בבקר קבוצת מחשבים א' במהלך אתחול למעלה..
  2. מופע Sqlcluster נכשל מעל צומת B כאשר צומת A הוא בדרך כלל כיבוי.
  3. מופע Sqlcluster הרישום בוטל שלו SPN מבקר קבוצת מחשבים א' במהלך תהליך הכיבוי בצומת א.
  4. ה-SPN מוסר מבקר קבוצת מחשבים א' אך השינוי יש לא שוכפל לבקר התחום ב'.
  5. בעת הפעלת צומת ב', המופע Sqlcluster מנסה לרשום את ה-SPN של SQL עם בקר קבוצת מחשבים ב'. מאז, ה-SPN עדיין קיים B צומת לא לרשום את ה-SPN.
  6. לאחר זמן מה, בקר קבוצת המחשבים A משכפל את המחיקה של SPN (מתוך שלב 3) לבקר קבוצת מחשבים B כחלק שכפול Active Directory. התוצאה הסופית היא SPN חוקי לא קיים עבור מופע SQL בתחום ולכן אתה רואה בעיות חיבור למופע Sqlcluster.

הערה בעיה זו תוקנה ב- SQL Server 2012.
ודא את סביבת שרת
בדוק את הגדרות בסיסיות מסוימות במחשב שבו מותקן שרת SQL:
  1. אימות Kerberos אינו נתמך במחשבים מבוססי Windows 2000 הפועלים קיבוץ באשכולות של Windows אלא אם החלת Service Pack 3 (או גירסה מתקדמת יותר) ל- Windows 2000. לכן כל ניסיון להשתמש באימות SSPI במופע באשכולות של SQL Server עשוי להיכשל. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    235529 תמיכה באימות Kerberos לפי אשכולות שרת מבוסס Windows 2000
  2. ודא כי השרת פועל Windows 2000 Service Pack 1 (SP1). לקבלת מידע נוסף אודות תמיכה באימות Kerberos בשרתים מבוססי Windows 2000, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    267588 מוצגת הודעת השגיאה "אין אפשרות ליצור הקשר SSPI" בעת התחברות אל SQL Server 2000
  3. באשכול, אם החשבון המשמש אותך כדי להפעיל את שרת SQL, SQL Server Agent או חיפוש טקסט מלא של שירותי שינויים, כגון סיסמה חדשה, בצע את השלבים המופיעים במאמר הבא מתוך מאגר הידע Microsoft Knowledge Base:
    239885 כיצד לשנות את חשבונות השירות עבור מחשב שבו פועל SQL Server מקובצים באשכולות
  4. ודא שלחשבון המשמש אותך כדי להפעיל את שרת SQL יש את ההרשאות המתאימות. אם אתה משתמש בחשבון שאינו חבר בקבוצה Administrators המקומית, ראה "הגדרת למעלה שירותי חשבונות Windows" בנושא ספרים מקוונים של שרת SQL עבור רשימה מפורטת של הרשאות חשבון זה חייב להיות:
    http://msdn2.microsoft.com/en-us/library/aa176564 (SQL.80).aspx
ודא את סביבת הלקוח
אמת את הפעולות הבאות במחשב הלקוח:
  1. ודא כי ספק תמיכה באבטחה של NTLM מותקן כראוי וזמין במחשב הלקוח. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    269541 הודעת שגיאה בעת התחברות אל SQL Server אם מפתח הרישום של ספק תמיכת האבטחה של Windows NT LM חסר: "אין אפשרות ליצור הקשר SSPI"
  2. לקבוע אם אתה משתמש אישורים המאוחסנים במטמון. אם אתה מחובר אל הלקוח באמצעות אישורים המאוחסנים במטמון, צא מהמחשב והיכנס בחזרה כאשר באפשרותך להתחבר בבקר תחום שבו מונעות את השימוש של אישורים המאוחסנים במטמון. לקבלת מידע נוסף אודות האופן שבו ניתן לקבוע אם אתה משתמש אישורים המאוחסנים במטמון, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    242536 המשתמש לא התראה בעת רישום בבאמצעות התחום במטמון אישורים
  3. ודא כי התאריכים הלקוח והן בשרת אינם חוקיים. אם התאריכים אינם כליך במרחקים גדולים מדי, האישורים שלך עשויים להיחשב לא חוקי.
  4. SSPI משתמש בקובץ בשם Security.dll. אם כל יישום אחר מתקין קובץ שמשתמש בשם זה, הקובץ הנוסף עשוי לשמש במקום קובץ SSPI בפועל. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    253577 שגיאה: 80004005 - מנהל שרת SQL ODBC MS אין אפשרות לאתחל מנת sspi
  5. אם מערכת ההפעלה במחשב הלקוח Microsoft Windows98, עליך להתקין הלקוח עבור רשתות Microsoft רכיב במחשב הלקוח. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
    267550 באג: "הטענה נכשל' כאשר אתה מתחבר לשרת SQL באמצעות tcp/IP
ודא את כלי השירות של לקוח רשת
לקוח רשת כלי (CNU) נמסר יחד עם רכיבים Access לנתונים של Microsoft (MDAC) והוא משמש כדי לקבוע את התצורה של קישוריות למחשבים שבהם פועל SQL Server. באפשרותך להשתמש בכלי השירות CNU Cliconfg.exe של MDAC כדי לקבוע את התצורה של קישוריות:
  1. בכרטיסיה כללי , aredefined פרוטוקולים של דרך משתנה בהתאם גירסת MDAC. עם גירסאות קודמות של MDAC, באפשרותך לבחור פרוטוקול "ברירת מחדל". על הגרסאות העדכניות ביותר של MDAC, canenable לך אחד או יותר מפרוטוקולי אחד בחלק העליון של הרשימה בעת connectto SQL Server. מאחר SSPI חל רק על tcp/IP, באפשרותך להשתמש differentprotocol, כגון צינורות בשם, כדי להימנע מהשגיאה.
  2. בדוק את הכרטיסיה כינוי ב- CNU כדי לוודא כי כינוי המוגדרת עבור השרת שאליו אתה מנסה להתחבר. אם הוגדר כינוי של השרת, בדוק את ההגדרות עבור כיצד מחשב זה מוגדר להתחבר לשרת SQL. באפשרותך לוודא זאת על-ידי מחיקת השרת כינוי כדי לראות אם ישנה ההתנהגות.
  3. אם השרת הכינוי אינו מוגדר CNU, הוסף את הכינוי עבור השרת שאליו אתה מתחבר. בעת ביצוע משימה זו, הם גם במפורש המגדירה את הפרוטוקול ואת באופן אופציונלי הגדרת כתובת ה-IP ואת היציאה.
כוונן באופן ידני של שם ראשי של שירות עבור SQL Server
לקבלת מידע נוסף אודות אופן הגדרת שם ראשי של שירות עבור SQL Server באופן ידני, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
319723 כיצד להשתמש באימות Kerberos ב- SQL Server
ממשק ספק תמיכה אבטחה (SSPI) הוא הממשק אבטחה ב- Microsoft Windows NT בו נעשה שימוש עבור אימות Kerberos, ותומך סכימת האימות של ספק תמיכה באבטחה של NTLM. מתבצע אימות ברמת מערכת ההפעלה בעת כניסה לתחום של Windows. אימות Kerberos זמינה רק במחשבים מבוססי Windows 2000 בעלי אימות Kerberos זמין באמצעות Active Directory.

SSPI משמש רק עבור חיבורי tcp/IP שנעשים על-ידי שימוש באימות של Windows. אימות Windows מכונה גם חיבורי מהימנים או באבטחה משולבת. SSPI לא נעשה על-ידי רכיבי Named Pipe או חיבורים בפרוטוקולים מרובים. לכן, ניתן למנוע את הבעיה על-ידי קביעת התצורה של לקוחות כדי להתחבר מתוך בפרוטוקול שאינו tcp/IP.

כאשר לקוח שרת SQL ינסה להשתמש באבטחה משולבת מעל sockets tcp/IP למחשב מרוחק בו פועל SQL Server, ספריית רשת של לקוח שרת SQL משתמש ה-API של SSPI כדי לבצע הקצאה אבטחה. לקוח רשת של שרת SQL (Dbnetlib.dll) מבצע קריאה לפונקציה AcquireCredentialsHandle ומעביר ב "משא ומתן" עבור הפרמטר pszPackage . זה מיידע את ספק האבטחה המשמשת כבסיס כדי לבצע משא ומתן על הקצאה. בהקשר זה, משא ומתן אמצעים כדי לנסות אימות Kerberos או NTLM במחשבים מבוססי Windows. במילים אחרות, Windows להשתמש הקצאת Kerberos אם SPN המשויך, שתצורתו נקבעה כראוי במחשב היעד שבו פועל SQL Server. אחרת, ל- Windows להשתמש בהקצאה NTLM.

הערה ודא כי אתה משתמש לא חשבון בשם "מערכת" כדי להפעיל את שירות שרת SQL (MSSQLServer, SQLServerAgent, MSSearch) כלשהו. מילת המפתח מערכת עלול לגרום להתנגשויות עם מרכז להפצת מפתחות (KDC).
כווץ את התמונההרחב את התמונה
assets folding end collapsed

לאסוף מידע כדי לפתוח אירוע התמיכה בלקוחות של Microsoft (CSS)

כווץ את התמונההרחב את התמונה
assets folding start collapsed
אם אין אפשרות להשיג את הגורם לבעיה באמצעות ושלבי פתרון הבעיות במאמר זה, לאסוף את המידע הבא ופתח אירוע התמיכה בלקוחות של Microsoft (CSS).

לקבלת רשימה מלאה של מספרי טלפון של התמיכה בלקוחות של Microsoft ומידע על עלויות תמיכה, עבור אל אתר האינטרנט הבא של Microsoft:
http://support.microsoft.com/contactus/?ws=support
  1. צור של הדוח sqldiag מ- SQL Server. לקבלת מידע נוסף, עיין בנושא "sqldiag שירות" ב- SQL Server BooksOnline.
  2. ללכוד צילום מסך של השגיאה בלקוח.
  3. פתח שורת פקודה בצומת זה אין אפשרות להתחבר לשרת SQL ולאחר מכן הקלד את הפקודה הבאה:
    net start > started.txt
    פקודה זו יוצרת קובץ בשם Started.txt בספריה שבה אתה מפעיל את הפקודה.
  4. שמור את הערכים עבור מפתח הרישום תחת מפתח הרישום הבא במחשב הלקוח:
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\CLIENT\CONNECTTO
  5. בסביבה מקובצת באשכולות, למצוא את הערך של מפתח הרישום הבא עבור כל צומת באשכול:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel
  6. בסביבה מקובצת באשכולות, ראה אם מפתח הרישום הבא קיים בכל צומת השרת של האשכול:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTLMSsp
  7. ללכוד את התוצאות אם אתה מתחבר לשרת SQL באמצעות שם למתן שמות (UNC) aUniversal (או שם הרשת SQL באשכול) מהלקוח.
  8. ללכוד את התוצאות אם איתות שם המחשב (או שם הרשת SQL באשכול) מהלקוח.
  9. לשמור את השם של חשבונות המשתמש שבו תשתמש להפעלת כל אחד מהשירותים שרת SQL (MSSQLServer, SQLServerAgent, MSSearch).
  10. תמיכה מקצועית, עליך לדעת אם SQL Server מוגדר עבור אימות מעורבים או Windows אימות בלבד.
  11. ראה אם באפשרותך להתחבר למחשב שבו פועל SQL Server מהלקוח אותו על-ידי שימוש באימות של SQL Server.
  12. ראה אם באפשרותך להתחבר באמצעות פרוטוקול בשם צינורות.

הפניות

לקבלת מידע נוסף אודות אופן אימות Kerberos ופועל האבטחה SSPI, לחץ על מספרי המאמרים הבאים כדי להציג את המאמרים מתוך מאגר הידע Microsoft Knowledge Base:
266080 תשובות לשאלות נפוצות של אימות Kerberos
231789 תהליך הכניסה המקומית עבור Windows 2000
304161 אימות הדדי של SSPI מצוין בצד הלקוח אך לא בצד השרת
232179 Kerberos ניהול ב- Windows 2000
230476 תיאור של שגיאות הקשורות ל- Kerberos נפוצות ב- Windows 2000
262177 כיצד להפעיל רישום אירועים Kerberos
277658 Setspn נכשלת אם שם התחום שונה משם NetBIOS שבו רשום SPN של שרת SQL
244474 כיצד לכפות Kerberos כדי להשתמש ב- TCP במקום UDP ב- Windows Server 2003, ב- Windows XP וב -Windows 2000
כדי לראות סקירה טכנית אודות אבטחה ב- Microsoft SQL Server 2000, עבור אל אתר האינטרנט הבא של Microsoft:
http://technet.microsoft.com/en-us/cc984178.aspx
כווץ את התמונההרחב את התמונה
assets folding end collapsed

מאפיינים

Article ID: 811889 - Last Review: יום חמישי 10 אוקטובר 2013 - Revision: 2.0
המידע במאמר זה חל על:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Integration Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Reporting Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
מילות מפתח 
kbsqlsetup kbhowtomaster kbhowto kbsmbportal kbmt KB811889 KbMthe
תרגום מכונה
חשוב: מאמר זה תורגם באמצעות תוכנת תרגום מכונה של Microsoft וייתכן שנערך לאחר מכן על-ידי קהילת Microsoftבאמצעות טכנולוגייתCommunity Translation Framework (CTF) או באמצעות תרגום אנושי. Microsoft מציעה לך גם מאמרים בתרגום אנושי, מאמרים בתרגום מכונה ומאמרים שנערכו על ידי הקהילה כדי לאפשר גישה למאמרים הקיימים במאגר הידע (Knowledge Base) שלMicrosoft בשפות שונות. מאמרים מתורגמים יכולים להכיל שגיאות באוצר המילים, בתחביר או בדקדוק. Microsoft אינה אחראית לחוסר דיוק, שגיאות או נזקים שייגרמו כתוצאה מטעויות בתכנים או משימוש בתכנים על ידי לקוחותיה.
כותרת מאמר זה באנגלית: 811889

ספק משוב

 

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