"कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि संदेश का निवारण कैसे करें

14 जुलाई 2015 को Windows Server 2003 का समर्थन समाप्त हो गया

Microsoft ने 14 जुलाई 2015 को Windows Server 2003 का समर्थन समाप्त कर दिया. यह परिवर्तन आपके सॉफ़्टवेयर अद्यतनों और सुरक्षा विकल्पों को प्रभावित करेगा. जानें कि आपके लिए इसका क्या अर्थ है और सुरक्षित कैसे बने रहें.

महत्वपूर्ण: इस आलेख का मानव अनुवादक के स्थान पर Microsoft मशीन-अनुवाद सॉफ़्टवेयर द्वारा अनुवाद किया गया था. Microsoft आपके लिए मानव-अनुवादित और मशीन-अनुवादित दोनों प्रकार के आलेख प्रस्तुत करता है ताकि हमारे नॉलेज बेस के सभी आलेखों तक आपकी अपनी भाषा में पहुँच हो. हालांकि, मशीन-अनुवादित आलेख हमेशा सटीक नहीं होते हैं. इसमें, शब्दावली, वाक्य-रचना या व्याकरण की गल्तियाँ हो सकती हैं, जैसे कि कोई विदेशी आपकी भाषा में बोलते समय कर सकता है. Microsoft सामग्री में किसी भी प्रकार की अशुद्धताओं, त्रुटियों या गलत अनुवाद या उसके उपयोग के कारण ग्राहकों को हुई किसी क्षति के लिए जिम्मेदार नहीं है. Microsoft मशीन-अनुवाद सॉफ़्टवेयर का बहुधा अद्यतन भी कर रहा है.

निम्नलिखित इस आलेख का अंग्रेज़ी संस्करण है:811889

समस्या को समझना

यह अनुभाग आपको क्यों "कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि संदेश आता है और त्रुटि समस्याओं का निवारण करने के तरीके पर पृष्ठभूमि जानकारी देता है। यदि निम्न स्थितियाँ सत्य हैं, तो आपको यह त्रुटि संदेश प्राप्त हो सकता है:
  • आप Microsoft SQL Server से कनेक्ट कर रहे हैं।
  • आपको एकीकृत सुरक्षा का उपयोग कर रहे हैं।
  • सुरक्षा डेलिगेशन करने के लिए Kerberos प्रमाणीकरण किया जाता है।
कर्बेरॉस शब्दों और सेवा मुख्य नाम को समझना
क्लाइंट कंप्यूटर पर SQL Server ड्रायवर सफलतापूर्वक SQL Server चला रहे कंप्यूटर से कनेक्ट करने के लिए उपयोगकर्ता खाते का Windows सुरक्षा टोकन का उपयोग करने के लिए एकीकृत सुरक्षा का उपयोग करता है। SQL सर्वर चल रहा है जो कंप्यूटर के लिए क्लाइंट से Windows सुरक्षा टोकन प्रत्यायोजित किया है। SQL सर्वर ड्राइवर इस डेलिगेशन करता है जब प्रत्यायोजित उपयोगकर्ता के सुरक्षा टोकन एक कंप्यूटर से दूसरे करने के लिए निम्न कॉन्फ़िगरेशन में से एक का उपयोग करके किया है:
  • NTLM (सुरक्षा समर्थन प्रदाता इंटरफ़ेस [कि गई SSPI] नहीं उपयोग) पाइप्स नाम पर
  • कि गई SSPI के साथ tcp/ip सॉकेट पर NTLM
  • कि गई SSPI के साथ tcp/ip सॉकेट पर Kerberos प्रमाणीकरण
कि गई सुरक्षा समर्थन प्रदाता इंटरफ़ेस (SSPI) कोई जेनेरिक डेटा ट्रांसपोर्ट परत, जैसे tcp/ip सॉकेट पर डेलिगेशन और म्यूच्युअल प्रमाणन के लिए अनुमति देता है जो Windows APIs का एक सेट है। इसलिए, कि गई SSPI सुरक्षित रूप से उपयोगकर्ता सुरक्षा टोकन किसी एक कंप्यूटर से दूसरे पर डेटा की अपुष्ट बाइट्स प्रसारित कर सकते हैं जो किसी भी ट्रांसपोर्ट परत पर प्रतिनिधि करने के लिए Windows ऑपरेटिंग सिस्टम चला रहे कंप्यूटर के लिए कर सकते हैं।

"कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि उत्पन्न होती है जब कि गई SSPI पर tcp/ip प्रतिनिधि के लिए Kerberos प्रमाणीकरण का उपयोग करता है और Kerberos प्रमाणीकरण सफलतापूर्वक SQL सर्वर चल रहा है जो गंतव्य कंप्यूटर के लिए उपयोगकर्ता सुरक्षा टोकन प्रतिनिधि करने के लिए आवश्यक कार्रवाई पूरी नहीं कर सकता।
क्यों सुरक्षा प्रदाता इंटरफ़ेस समर्थन NTLM या Kerberos प्रमाणीकरण का उपयोग करता है
कर्बेरॉस प्रमाणीकरण का उपयोग करता है पहचानकर्ता "सेवा मुख्य नाम" (SPN) नाम दिया। किसी डोमेन या फ़ॉरेस्ट अनन्य पहचानकर्ता किसी सर्वर संसाधन में कुछ उदाहरण के रूप में एक SPN पर विचार करें। आप किसी वेब सेवा के लिए, किसी SQL सेवा के लिए, या कोई SMTP सेवा के लिए कोई SPN हो सकता है। आप एकाधिक वेब सेवा इंस्टेंसेस किसी अनन्य SPN है जो एक ही भौतिक कंप्यूटर पर भी हो सकता है।

SQL सर्वर के लिए कोई SPN निम्न तत्वों की बनता है:
  • ServiceClass: यह सेवा के सामान्य वर्ग की पहचान करता है। यह alwaysMSSQLSvc SQL सर्वर के लिए है।
  • होस्ट: यह SQL Server चला रहे कंप्यूटर thatis के DNS पूर्णत: क्वालीफ़ाइड डोमेन नाम है।
  • पोर्ट: यह पोर्ट नंबर सेवा सुन रहा है जो है।
उदाहरण के लिए, किसी विशिष्ट SPN SQL Server चला रहे कंप्यूटर के लिए निम्नानुसार है:
MSSQLSvc/SQLSERVER1.northamerica.corp.mycompany.com:1433
कोई डिफ़ॉल्ट आवृत्ति के लिए कोई SPN का स्वरूप और एक नामांकित आवृत्ति के लिए कोई SPN का स्वरूप नहीं भिन्न है। पोर्ट संख्या किसी विशेष आवृत्ति के लिए SPN ties क्या है।

SQL सर्वर से कनेक्ट करने के लिए कोई क्लाइंट पर SQL Server ड्राइवर एकीकृत सुरक्षा का उपयोग करता है, जब ड्राइवर कोड क्लाइंट पर WinSock APIs नेटवर्किंग का उपयोग करके SQL सर्वर चल रहा है जो कंप्यूटर का पूरी तरह क्वालीफ़ाइड DNS को हल करने के लिए कोशिश करता है। इस कार्रवाई को करने के लिए, गेथोस्टबाइनेम और gethostbyaddr WinSock APIs ड्राइवर कोड कॉल्स। कोई IP पते या होस्ट नाम SQL Server चला रहे कंप्यूटर का नाम के रूप में दिया गया है, तो SQL Server ड्रायवर कंप्यूटर एकीकृत सुरक्षा का उपयोग करता है, तो कंप्यूटर का पूरी तरह क्वालीफ़ाइड DNS को हल करने के लिए कोशिश करता है।

क्लाइंट पर SQL Server ड्राइवर SQL Server चला रहे कंप्यूटर का पूरी तरह क्वालीफ़ाइड DNS का निराकरण करता है, जब संबंधित DNS SPN इस कंप्यूटर के लिए बनाने के लिए किया जाता है। इसलिए, SQL Server ड्राइवर SQL Server चला रहे कंप्यूटर के लिए कोई अमान्य SPN बनाने के लिए कैसे IP पते या होस्ट नाम के लिए पूरी तरह क्वालीफ़ाइड DNS द्वारा WinSock हल है के बारे में कोई समस्या हो सकता है।

निम्न पूरी तरह क्वालीफ़ाइड DNS हल हो गई हैं जो क्लाइंट-साइड SQL सर्वर ड्राइवर प्रपत्र कर सकते हैं, उदाहरण के लिए अमान्य SPNs:
  • 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 देखने का प्रयास करता है, और इसे SPN नहीं पाता है, क्योंकि काम। SPN कि गई SSPI इंटरफ़ेस नहीं पाता है, तो Kerberos प्रमाणीकरण किया नहीं है। इस बिंदु पर, एक NTLM प्रमाणीकरण मोड के लिए कि गई SSPI परत आ जाता और लॉगऑन NTLM प्रमाणीकरण का उपयोग करता है और विशेष रूप से बाद में आता है। SQL सर्वर ड्राइवर प्रपत्र किसी SPN मान्य है, लेकिन करने के लिए उपयुक्त संग्राहक असाइन नहीं किया गया है, तो इसे SPN का उपयोग करने का प्रयास करता है लेकिन नहीं कर सकते। यह एक "कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि संदेश उत्पन्न करता है। SQL सर्वर स्टार्टअप खाते को स्थानीय सिस्टम खाता है, तो उपयुक्त संग्राहक कंप्यूटर का नाम है। किसी भी अन्य खाते के लिए, SQL Server स्टार्टअप खाता उपयुक्त कंटेनर है। प्रमाणन उसे मिलने वाले पहले SPN का उपयोग करने का प्रयास करेगा, क्योंकि सुनिश्चित करें कि कोई SPNs गलत संग्राहक के लिए असाइन किया गया है। दूसरे शब्दों में, प्रत्येक SPN करने के लिए एक और केवल एक कंटेनर असाइन की जानी चाहिए।

कुंजी फ़ैक्टर जो Kerberos प्रमाणीकरण सफल है मान्य DNS कार्यक्षमता नेटवर्क पर है। पिंग कमांड प्रॉम्प्ट सुविधा का उपयोग कर आप इस कार्यक्षमता पर क्लाइंट और सर्वर पुष्टि कर सकते हैं। क्लाइंट कंप्यूटर पर SQL Server (जहाँ SQL सर्वर चल रहा है जो कंप्यूटर का नाम SQLServer1 है) चल रहा है जो सर्वर का IP पता प्राप्त करने के लिए निम्न आदेश चलाएँ:
पिंग sqlserver1
देखें कि क्या Ping सुविधा पूरी तरह क्वालीफ़ाइड DNS के SQLServer1 को हल करने के लिए, निम्न आदेश चलाएँ:
पिंग - एक IPAddress
उदाहरण के लिए:
C:\>ping SQLSERVER1Pinging SQLSERVER1 [123.123.123.123] with 32 bytes of data:	Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply 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=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Reply from 123.123.123.123: bytes=32 time<10ms TTL=128Ping 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 =  0msC:\>
जब आदेश पिंग - एक IPAddress SQL सर्वर चल रहा है जो कंप्यूटर का पूरी तरह क्वालीफ़ाइड सही DNS के लिए resolves क्लाइंट साइड रिज़ॉल्यूशन भी सफल हो जाता है।
SQL सर्वर सेवा मुख्य नाम बनाना
यह Kerberos प्रमाणीकरण और SQL Server सहभागिता के महत्वपूर्ण भागों में से एक है। SQL सर्वर के साथ, आप निम्न में से एक के अंतर्गत SQL सर्वर सेवा चला सकते हैं: एक स्थानीय सिस्टम खाता, किसी स्थानीय उपयोगकर्ता खाते या कोई डोमेन उपयोगकर्ता खाता है। SQL सर्वर सेवा आवृत्ति प्रारंभ होता है, DsWriteAccountSpn API कॉल का उपयोग कर सक्रिय निर्देशिका में स्वयं SPN पंजीकृत करने के लिए कोशिश करता है। कॉल सफल नहीं है, तो निम्न चेतावनी इवेंट व्यूअर में लॉग होता है:

स्रोत: MSSQLServer EventID: 19011 वर्णन: SuperSocket जानकारी: (SpnRegister): त्रुटि 8344।

DsWriteAccountSpn फ़ंक्शन के बारे में अधिक जानकारी के लिए, निम्न Microsoft वेब साइट पर जाएँ:
सरलीकृत स्पष्टीकरण
यदि आप SQL सर्वर सेवा स्थानीय सिस्टम खाते के अंतर्गत चलाने, SPN स्वचालित रूप से पंजीकृत किया गया है और प्रमाणीकरण Kerberos सफलतापूर्वक SQL सर्वर चल रहा है जो कंप्यूटर के साथ इंटरैक्ट करता है। यदि आप एक स्थानीय खाते के अंतर्गत या कोई डोमेन खाते के अंतर्गत SQL सर्वर सेवा चलाते हैं, तो डोमेन खाते और स्थानीय खाता स्वयं SPNs सेट करने का अधिकार नहीं है, क्योंकि हालांकि, SPN बनाने के लिए प्रयास अधिकांश मामलों में विफल होगा। SPN निर्माण सफल नहीं है, तो इसका अर्थ है कि कोई SPN SQL Server चला रहे कंप्यूटर के लिए सेट किया गया है कि। यदि आप SQL सर्वर सेवा खाते के रूप में किसी डोमेन व्यवस्थापक खाते का उपयोग कर का परीक्षण, एक SPN बनाने के लिए आपके पास आवश्यक डोमेन व्यवस्थापक-स्तर क्रेडेंशियल्स मौजूद हैं, क्योंकि SPN सफलतापूर्वक बन जाती है।

यदि आप किसी डोमेन व्यवस्थापक खाता (सुरक्षा जोखिम से बचने के लिए) SQL सर्वर सेवा को चलाने के लिए उपयोग हो सकता है नहीं, क्योंकि स्वयं SPN SQL Server चला रहे कंप्यूटर बना सकता। इसलिए, आप मैन्युअल रूप से एक SPN Kerberos प्रमाणीकरण का उपयोग करें जब आप SQL Server चला रहे कंप्यूटर से कनेक्ट करने के लिए चाहते हैं, तो SQL सर्वर चल रहा है जो आपके कंप्यूटर के लिए बनाना होगा। यदि आप किसी स्थानीय उपयोगकर्ता खाते के अंतर्गत या कोई डोमेन उपयोगकर्ता खाते के अंतर्गत SQL Server चला रहे हैं, तो सही है। आप बनाने SPN उस विशेष कंप्यूटर पर SQL सर्वर सेवा की सेवा खाता असाइन किया जाना चाहिए। SPN को कंप्यूटर संग्राहक के लिए स्थानीय सिस्टम खाते के साथ SQL सर्वर चल रहा है जो कंप्यूटर के प्रारंभ होने तक असाइन नहीं किया जा सकता। एक और केवल एक ही SPN होना चाहिए, और करने के लिए उपयुक्त संग्राहक असाइन किया जाना चाहिए। सामान्यतया, यह वर्तमान SQL सर्वर सेवा खाता है, लेकिन यह स्थानीय सिस्टम खाते के साथ कंप्यूटर खाता कंटेनर है।

समस्या ka हल

यह अनुभाग आपको आपका कंप्यूटर किसी कि गई SSPI समस्या अनुभव नहीं, यह सुनिश्चित करने में मदद करने के लिए चरणों दिखाता है।

डोमेन की जाँच करें
सत्यापित करें कि जो करने के लिए आप पर लॉग ऑन डोमेन जिसमें SQL सर्वर चल रहा है जो कंप्यूटर है डोमेन के साथ संवाद कर सकते हैं। भी होना चाहिए सही नाम समाधान डोमेन में है।
  1. क्या आप सुनिश्चित हैं कि आप सफलतापूर्वक Windows करने के लिए SQL सर्वर सेवा के स्टार्टअप खाते के रूप में एक ही डोमेन खाते और पासवर्ड उपयोग कर सकते हैं कि लॉग ऑन करने होंगे। उदाहरण के लिए, कि गई SSPI त्रुटि निम्न स्थितियों में से एक में हो सकता है:
    • डोमेन खाते अवरोधित है।
    • खाते का पासवर्ड परिवर्तित कर दिया गया था। पासवर्ड परिवर्तित कर दिया गया था के बाद हालांकि, आप कभी नहीं SQL सर्वर सेवा पुनर्प्रारंभ करें।
  2. आपके लॉगऑन डोमेन SQL Server चला रहे कंप्यूटर की डोमेन से भिन्न है, तो डोमेन के बीच विश्वास संबंध की जाँच करें।
  3. जाँच करें कि क्या सर्वर है जो डोमेन और डोमेन खाते से कनेक्ट करने के लिए उपयोग समान फ़ॉरेस्ट में हैं। यह कि गई काम करने के लिए SSPI के लिए आवश्यक है।
  4. उपयोग खाते के लिए विश्वसनीय है डेलिगेशन विकल्प में एक्टिव डायरेक्ट्री उपयोगकर्ता और कंप्यूटर जब आप SQL सर्वर को प्रारंभ करते हैं।

    नोट ' खाते के लिए विश्वसनीय है डेलिगेशन ' केवल जब आपको क्रेडेंशियल लक्ष्य SQL सर्वर से जैसे कोई दोहरी hop परिदृश्य करना किसी दूरस्थ SQL सर्वर को delegating हैं वितरित Windows प्रमाणीकरण का उपयोग क्वेरीज़ (लिंक किए गए सर्वर क्वेरी) के लिए दाएँ आवश्यक है।
  5. Windows 2000 संसाधन किट में सुविधा (SetSPN.exe) खाते के लिए परिचालन सेवा मुख्य नाम का उपयोग करें। Windows 2000 डोमेन व्यवस्थापक खाते या Windows Server 2003 डोमेन व्यवस्थापक खातों सुविधा सेवा और किसी खाते के लिए असाइन किया गया है जो SPN को नियंत्रित करने के लिए उपयोग कर सकते हैं। SQL सर्वर के लिए SPN एक और केवल एक ही होना चाहिए। स्थानीय सिस्टम खाते के साथ SQL Server प्रारंभ होने पर SPN करने के लिए उपयुक्त संग्राहक, अधिकांश मामलों में वर्तमान SQL सर्वर सेवा खाते और कंप्यूटर खाता असाइन की जानी चाहिए। यदि आप SQL स्थानीय सिस्टम खाते के साथ लॉग ऑन करते समय सर्वर को प्रारंभ, SPN स्वचालित रूप से सेट है। हालांकि, यदि SQL सर्वर को प्रारंभ करने के लिए कोई डोमेन खाते का उपयोग करें, या जब आप SQL सर्वर को प्रारंभ करने के लिए उपयोग किया जाता है जो खाता बदलें, आपको SetSPN.exe चलाना आवश्यक SPNs निकालने के लिए समाप्त हो गई और तब आप कोई मान्य SPN जोड़ने चाहिए। अधिक जानकारी के लिए, SQL Server 2000 पुस्तकें ऑनलाइन में "सुरक्षा खाता डेलिगेशन" विषय देखें। ऐसा करने के लिए, निम्न Microsoft वेब साइट पर जाएँ:Windows 2000 संसाधन किट के बारे में अधिक जानकारी के लिए, निम्न Microsoft वेब साइट पर जाएँ:
  6. सत्यापित करें कि नाम समाधान ठीक से उत्पन्न हो रही है। समाधान विधियाँ DNS, शामिल हो सकता है नाम WINS, होस्ट्स फ़ाइल और Lmhosts फ़ाइलें। नाम समाधान समस्याओं और समस्या निवारण के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    169790 मूल tcp/ip समस्याओं का निवारण कैसे करें
  7. पहुँच क्षमता और सक्रिय निर्देशिका से फ़ायरवॉल समस्याओं का निवारण कैसे करें के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्याएँ क्लिक करें:
    291382 सामान्य Windows 2000 DNS और Windows सर्वर 2003 DNS के बारे में प्रश्न
    224196 सक्रिय डायरेक्ट्री प्रतिकृति यातायात और क्लाइंट RPC यातायात प्रतिबंधित करने के लिए किसी विशिष्ट पोर्ट
SQL सर्वर आवृत्ति के लिए गतिशील रूप से SPNs बनाने के लिए SQL सर्वर सेवा को कॉन्फ़िगर करें
गतिशील रूप से SPNs बनाने के लिए SQL सर्वर सेवा को कॉन्फ़िगर करने के लिए, आप सक्रिय निर्देशिका निर्देशिका सेवा में खाते की पहुँच नियंत्रण सेटिंग्स बदलना आवश्यक है। आप "servicePrincipalName पढ़ें" अनुमति और SQL सर्वर सेवा खाते के लिए "लेखन servicePrincipalName" की अनुमति देनी होगी।

चेतावनी यदि आप सक्रिय निर्देशिका सेवा इंटरफ़ेस (ADSI) संपादन स्नैप-इन, LDP सुविधा, या 3 क्लाइंट और आप गलत रूप से सक्रिय निर्देशिका ऑब्जेक्ट की विशेषताएँ परिवर्तित करें किसी भी अन्य LDAP संस्करण का उपयोग करते हैं, तो आप गंभीर समस्याएँ हो सकती हैं। ये समस्याएँ यदि आप Windows Server 2003, Microsoft Windows 2000 सर्वर, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server, या दोनों Windows और Exchange पुनर्स्थापित करना पड़ सकता है। हम गारंटी नहीं दे सकता कि गलत तरीके से सक्रिय निर्देशिका ऑब्जेक्ट की विशेषताएँ परिवर्तित कर के कारण समस्याएँ हल हो सकती है। ये विशेषताएँ को अपने जोखिम पर बदलें।

नोट उपयुक्त अनुमतियाँ और SQL Server स्टार्टअप खाते के लिए उपयोगकर्ता अधिकार प्रदान करने के लिए, यदि आप किसी डोमेन व्यवस्थापक के रूप में लॉग ऑन होना चाहिए, या आप यह कार्य करने के लिए अपने डोमेन व्यवस्थापक से पूछना आवश् यक है।

गतिशील रूप से SPNs बनाने के लिए SQL सर्वर सेवा को कॉन्फ़िगर करने के लिए, निम्न चरणों का पालन करें:
  1. प्रारंभक्लिक करें, क्लिक करें चलाएँ, प्रकार Adsiedit.msc, और उसके बाद ठीकक्लिक करें।
  2. ADSI संपादन स्नैप-इन में, विस्तृत करें डोमेन [के लिए डोमेन नाम], विस्तृत करें DC =<b00> </b00> RootDomainName, विस्तृत करें CN उपयोगकर्ता =, राइट-क्लिक CN =<b00> </b00> खाता नाम =, और उसके बाद गुणक्लिक करें।

    नोट्स
    • के लिए डोमेन नाम डोमेन का नाम के लिए प्लेसहोल्डर है।
    • RootDomainName रूट डोमेन का नाम के लिए प्लेसहोल्डर है।
    • खाता नाम = यदि आप SQL सर्वर सेवा को प्रारंभ करने के लिए निर्दिष्ट खाते के लिए एक प्लेसहोल्डर है।
    • यदि आप SQL सर्वर सेवा को प्रारंभ करने के लिए स्थानीय सिस्टम खाता निर्दिष्ट करें, खाता नाम = Microsoft Windows पर लॉग ऑन करने के लिए आप का उपयोग करने वाले खाते के लिए एक प्लेसहोल्डर है।
    • यदि आप SQL सर्वर सेवा को प्रारंभ करने के लिए कोई डोमेन उपयोगकर्ता खाता निर्दिष्ट करें, खाता नाम = डोमेन उपयोगकर्ता खाते के लिए एक प्लेसहोल्डर है।
  3. में CN =<b00> </b00> खाता नाम = गुण संवाद बॉक्स में, सुरक्षा टैब क्लिक करें।
  4. सुरक्षा टैब पर, उन्नतक्लिक करें।
  5. उन्नत सुरक्षा सेटिंग्स संवाद बॉक्स में, सुनिश्चित करें कि SELFअनुमति प्रविष्टियोंके अंतर्गत सूचीबद्ध है।

    SELF सूचीबद्ध नहीं है, तो जोड़ेंक्लिक करें, और उसके बाद SELFजोड़ें।
  6. अनुमति प्रविष्टियाँ, के अंतर्गत SELFक्लिक करें, और उसके बाद संपादित करेंक्लिक करें।
  7. अनुमति प्रविष्टि संवाद बॉक्स में, गुण ' टैब क्लिक करें।
  8. गुण टैब पर, केवल इस ऑब्जेक्टपर लागू करें सूची में क्लिक करें, और उसके बाद सुनिश्चित करें कि अनुमतियाँके अंतर्गत निम्न अनुमतियों के लिए चेक बॉक्स चयनित हैं:
    • ServicePrincipalName पढ़ें
    • लेखन servicePrincipalName
  9. तीन बार ठीक क्लिक करें, और उसके बाद ADSI संपादन स्नैप-इन से बाहर निकलें।
इस प्रक्रिया के साथ मदद, के लिए सक्रिय निर्देशिका उत्पाद समर्थन से संपर्क करें, और इस Microsoft नॉलेज बेस आलेख प्रस्तुत है।

महत्वपूर्ण हम अनुशंसा करते हैं कि निम्न स्थितियों के सत्य होने पर आप WriteServicePrincipalName दाएँ SQL सेवा खाते के लिए दें न कि:
  • एक से अधिक डोमेन नियंत्रक नहीं हैं।
  • SQL सर्वर संकुल है।
इस परिदृश्य में, SQL सर्वर के लिए SPN लेटेंसी में सक्रिय डायरेक्ट्री प्रतिकृति के कारण हटाया जा सकता है। यह SQL सर्वर आवृत्ति के लिए कनेक्टिविटी समस्याएँ उत्पन्न हो सकता है।

मान लें कि आपके पास निम्न है:
  • Sqlcluster नामक दो नोड्स के साथ किसी SQL वर्चुअल आवृत्ति: A नोड और नोड B.
  • नोड A डोमेन नियंत्रक A द्वारा प्रमाणित हो और नोड B डोमेन नियंत्रक B. द्वारा प्रमाणित है


यह हो सकता है:
  1. Sqlcluster आवृत्ति नोड पर सक्रिय है और प्रारंभ करते समय अप SQL SPN डोमेन नियंत्रक में पंजीकृत.
  2. सामान्य रूप से शट डाउन नोड A होने पर Sqlcluster के लिए आवृत्ति पर नोड B करने के लिए विफल।
  3. Sqlcluster आवृत्ति डोमेन नियंत्रक से उसकी SPN. a. नोड पर शटडाउन प्रक्रिया के दौरान deregistered
  4. SPN डोमेन नियंत्रक A से निकाल दिया गया है, लेकिन प्रतिकृति परिवर्तन अभी तक डोमेन नियंत्रक B. में नहीं बनाई गई है
  5. नोड B पर प्रारंभ हो रहा है, तो Sqlcluster आवृत्ति SQL SPN डोमेन नियंत्रक B. के साथ पंजीकृत करने का प्रयास करता चूँकि, SPN भी नोड B मौजूद SPN पंजीकृत नहीं है।
  6. हटाना (से चरण 3) SPN B डोमेन नियंत्रक के लिए सक्रिय डायरेक्ट्री प्रतिकृति के भाग के रूप में कुछ समय के बाद, डोमेन नियंत्रक प्रतिकृति करता है। अंत परिणाम है डोमेन में SQL आवृत्ति के लिए कोई मान्य SPN मौजूद नहीं है और इसलिए आप कनेक्शन समस्याओं का Sqlcluster उदाहरण के लिए देखें।

नोट SQL Server 2012 में यह समस्या ठीक किया गया है।
सर्वर परिवेश की जाँच करें
जहाँ SQL सर्वर स्थापित है कंप्यूटर पर कुछ मूल सेटिंग्स की जाँच करें:
  1. Windows 2000 के लिए आप सर्विस पैक 3 (या बाद के संस्करण) पर लागू है, तो Windows क्लस्टरिंग चला रहे हैं Windows 2000-आधारित कंप्यूटरों पर जो Kerberos प्रमाणीकरण समर्थित नहीं है। इसलिए SQL सर्वर की कोई संकुल आवृत्ति पर कि गई SSPI प्रमाणन का उपयोग करने के लिए कोई प्रयास विफल हो सकता है। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    235529 Windows 2000-आधारित सर्वर क्लस्टर पर Kerberos प्रमाणीकरण समर्थन
  2. सत्यापित करें कि सर्वर Windows 2000 सर्विस पैक 1 (SP1) चल रहा है। बारे में अधिक जानकारी के लिए Kerberos प्रमाणीकरण समर्थन Windows 2000-आधारित सर्वर पर, Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    267588 "कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि संदेश प्रदर्शित होता है जब आप SQL Server 2000 से कनेक्ट करें
  3. यदि खाते का आप SQL सर्वर, SQL Server एजेंट, या पूर्ण-पाठ खोज को प्रारंभ करने के लिए उपयोग किए गए परिवर्तनों, सेवा क्लस्टर पर, जैसे कोई नया पासवर्ड, निम्न Microsoft नॉलेज बेस आलेख में उपलब्ध कराए गए चरणों का पालन करें
    239885 SQL सर्वर चल रहा है जो संकुल कंप्यूटर के लिए सेवा खाता परिवर्तित करने के लिए कैसे
  4. सत्यापित करें कि SQL सर्वर को प्रारंभ करने के लिए आप का उपयोग करने वाले खाते उचित अनुमति है। यदि आप स्थानीय व्यवस्थापक समूह का सदस्य नहीं है जो किसी खाते का उपयोग कर रहे हैं, तो यह खाता होना आवश्यक अनुमतियों की विस्तृत सूची के लिए SQL Server पुस्तकें ऑनलाइन में "सेटिंग ऊपर Windows सेवा खाते" विषय देखें:
क्लाइंट परिवेश की जाँच करें
क्लाइंट पर निम्न जाँचें:
  1. सुनिश्चित करें कि NTLM सुरक्षा समर्थन प्रदाता ठीक से स्थापित और क्लाइंट पर सक्षम किया गया है। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    269541 Windows NT LM सुरक्षा समर्थन प्रदाता रजिस्ट्री कुँजी अनुपलब्ध है, तो आप SQL सर्वर से कनेक्ट करते समय त्रुटि संदेश: "कि गई SSPI प्रसंग जनरेट नहीं कर सकता"
  2. निर्धारित करें कि क्या आप कैश्ड क्रेडेंशियल्स का उपयोग कर रहे हैं। आप क्लाइंट के लिए कैश्ड क्रेडेंशियल्स का उपयोग कर लॉग ऑन हैं, तो कंप्यूटर को बंद लॉग करें और जब कैश्ड क्रेडेंशियल्स को उपयोग किए जाने से रोकने के लिए कोई डोमेन नियंत्रक से कनेक्ट कर सकते हैं, तो उसके बाद वापस लॉग ऑन। कैसे निर्धारित करें कि क्या आप कैश्ड क्रेडेंशियल्स का उपयोग कर रहे हैं के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    242536 जब लॉग करने पर डोमेन को कैश्ड क्रेडेंशियल्स उपयोगकर्ता सूचित नहीं है
  3. सत्यापित करें कि दिनांक क्लाइंट और सर्वर पर मान्य हैं। दिनांक बहुत दूर-दूर तक जाते हैं, तो आपका प्रमाण पत्र अमान्य माने जा सकते हैं।
  4. कि गई SSPI Security.dll नाम है जो किसी फ़ाइल का उपयोग करता है। किसी भी अन्य अनुप्रयोग इस नाम का उपयोग करता है जो किसी फ़ाइल को स्थापित करता है, तो फ़ाइल वास्तविक कि गई SSPI फ़ाइल के स्थान पर उपयोग किया जा सकता। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    253577 त्रुटि: 80004005 - MS SQL सर्वर ODBC ड्राइवर कि गई SSPI पैकेज प्रारंभ नहीं कर सकता
  5. क्लाइंट पर ऑपरेटिंग सिस्टम पर Microsoft Windows98 है, तो आप Microsoft नेटवर्क घटक के लिए क्लाइंट क्लाइंट पर स्थापित करना होगा। अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
    267550 बग: "पुष्टि विफल" जब आप कनेक्ट करने के लिए कोई SQL Server tcp/ip के माध्यम से
क्लाइंट नेटवर्क सुविधा की जाँच करें
Microsoft डेटा एक्सेस घटकों (MDAC के साथ) क्लाइंट नेटवर्क सुविधा (CNU) वितरित किया गया और इसे कनेक्टिविटी SQL Server चला रहे कंप्यूटर पर कॉन्फ़िगर करने के लिए उपयोग किया जाता है। कनेक्टिविटी को कॉन्फ़िगर करने के लिए आप MDAC Cliconfg.exe CNU सुविधा का उपयोग कर सकते हैं:
  1. सामान्य टैब पर, प्रकार प्रोटोकॉल aredefined MDAC संस्करण के अनुसार भिन्न होता है। MDAC के पूर्व संस्करणों के साथ, आप "डिफ़ॉल्ट" प्रोटोकॉल का चयन कर सकते हैं। Canenable आप MDAC का नवीनतम संस्करण के साथ एक सूची के शीर्ष पर एक या अधिक प्रोटोकॉल जब आप connectto SQL Server. कि गई SSPI tcp/केवल ip के लिए लागू होता है, क्योंकि त्रुटि से बचने के लिए आप differentprotocol, जैसे नाम पाइप्स, उपयोग कर सकते हैं।
  2. कोई अन्य नाम सर्वर से कनेक्ट करने के लिए आप प्रयास कर रहे हैं जो के लिए परिभाषित किया गया है सत्यापित करने के लिए CNU में अन्य टैब की जाँच करें। यदि कोई सर्वर नाम निर्धारित की गई है, कि यह कंप्यूटर SQL सर्वर से कनेक्ट करने के लिए कॉन्फ़िगर है के लिए सेटिंग्स चेक करें। आप यह देखें कि व्यवहार परिवर्तित करने के लिए अन्य नाम सर्वर को हटा कर पुष्टि कर सकते हैं।
  3. यदि अन्य नाम सर्वर पर CNU निर्धारित नहीं है, तो सर्वर से आप कनेक्ट हो रहे हैं के लिए अन्य नाम जोड़ें। आप इस कार्य को करते हैं, आप प्रोटोकॉल को भी स्पष्ट रूप से परिभाषित करना हैं और वैकल्पिक रूप से IP पता और पोर्ट को परिभाषित करना।
मैन्युअल रूप से SQL सर्वर के लिए कोई सेवा मुख्य नाम सेट करें
मैन्युअल रूप से SQL सर्वर के लिए कोई सेवा मुख्य नाम सेट करने के तरीके के बारे में अधिक जानकारी के लिए Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:
319723 SQL सर्वर में कर्बेरॉस प्रमाणीकरण का उपयोग कैसे करें
कि गई सुरक्षा समर्थन प्रदाता इंटरफ़ेस (SSPI), इंटरफ़ेस Kerberos प्रमाणीकरण के लिए उपयोग किया जाता है, और की सुरक्षा समर्थन प्रदाता NTLM प्रमाणीकरण योजना का समर्थन करता है जो Microsoft Windows NT सुरक्षा के लिए है। जब आप किसी Windows डोमेन पर लॉग ऑन प्रमाणन ऑपरेटिंग सिस्टम स्तर पर उत्पन्न होती है। Kerberos प्रमाणीकरण जो Kerberos प्रमाणीकरण सक्षम किया गया है और जो सक्रिय निर्देशिका का उपयोग कर रहे हैं केवल Windows 2000-आधारित कंप्यूटर पर उपलब्ध है।

कि गई SSPI केवल Windows प्रमाणीकरण का उपयोग करते हुए किए गए tcp/ip कनेक्शन के लिए उपयोग किया जाता है। Windows प्रमाणीकरण के रूप में भी जाना जाता है विश्वसनीय कनेक्शन या एकीकृत सुरक्षा है। कि गई SSPI पाइप्स नाम या multi-protocol कनेक्शन द्वारा उपयोग नहीं है। इसलिए, यदि आप tcp/ip के अलावा किसी अन्य प्रोटोकॉल से कनेक्ट करने के लिए क्लाइंट को कॉन्फ़िगर करने से समस्या उपेक्षा कर सकते हैं।

जब एक SQL सर्वर क्लाइंट SQL सर्वर चल रहा है जो दूरस्थ कंप्यूटर के लिए tcp/ip सॉकेट पर एकीकृत सुरक्षा का उपयोग करने का प्रयास करता है, तो SQL सर्वर क्लाइंट नेटवर्क लायब्रेरी सुरक्षा डेलिगेशन करने के लिए कि गई SSPI API का उपयोग करता है। SQL सर्वर नेटवर्क क्लाइंट (Dbnetlib.dll) AcquireCredentialsHandle फ़ंक्शन को कॉल करता है और "के लिए pszPackage पैरामीटर निगोशिएट में" को पास करता है। यह करने के लिए अंतर्निहित सुरक्षा प्रदाता सूचित डेलिगेशन निगोशिएट करें। इस संदर्भ में, या तो Kerberos या NTLM प्रमाणन Windows-आधारित कंप्यूटर पर प्रयास करने के लिए माध्यम निगोशिएट करें। दूसरे शब्दों में, SQL सर्वर चल रहा है जो गंतव्य कंप्यूटर कॉन्फ़िगर किया गया सही रूप से, संबंधित SPN है, तो Windows Kerberos डेलिगेशन का उपयोग। अन्यथा, Windows NTLM डेलिगेशन का उपयोग करें।

नोट सत्यापित करें कि "सिस्टम" नाम से एक खाता किसी SQL सर्वर सेवाएँ (MSSQLServer, SQLServerAgent, MSSearch) को प्रारंभ करने के लिए कि आप उपयोग कर रहे हैं नहीं है। कीवर्ड सिस्टम कुंजी वितरण केंद्र (KDC) के साथ विरोध हो सकता है।

Microsoft ग्राहक समर्थन (CSS) केस खोलने के लिए जानकारी एकत्रित करें

इस आलेख में बताए गए समस्या निवारण चरणों का उपयोग कर आप समस्या के कारण प्राप्त नहीं कर सकता, तो निम्न जानकारी एकत्रित और एक Microsoft ग्राहक समर्थन (CSS) केस खोलने।

Microsoft ग्राहक समर्थन के फोन नंबरों और समर्थन मूल्य के बारे में जानकारी की पूरी सूची के लिए, निम्न Microsoft वेब साइट पर जाएँ:
  1. SQL सर्वर से कोई sqldiag रिपोर्ट जनरेट करें। Moreinformation के लिए, SQL सर्वर BooksOnline में "sqldiag सुविधा" विषय देखें।
  2. क्लाइंट पर त्रुटि के एक स्क्रीन शॉट ले।
  3. जो नहीं कर सकता SQL सर्वर से कनेक्ट करें, और उसके बाद निम्न आदेश टाइप करें नोड पर एक कमांड प्रॉम्प्ट खोलें:
    नेट प्रारंभ > 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. AUniversal नेमिंग कन्वेंशन (UNC) नाम (या किसी क्लस्टर पर SQL नेटवर्क नाम) का उपयोग करके SQL सर्वर से कनेक्ट करते हैं तो परिणाम क्लाइंट से कैप्चर करें।
  8. यदि आप कंप्यूटर का नाम (या किसी क्लस्टर पर SQL नेटवर्क नाम) क्लाइंट से पिंग परिणाम कैप्चर करें।
  9. आप हर एक SQL सर्वर सेवाएँ (MSSQLServer, SQLServerAgent, MSSearch) को प्रारंभ करने के लिए का उपयोग उपयोगकर्ता खाते का नाम और सहेजें।
  10. व्यावसायिक समर्थन पता होना चाहिए कि क्या SQL Server मिश्रित प्रमाणन या Windows केवल प्रमाणन के लिए कॉन्फ़िगर है।
  11. आप SQL सर्वर से एक ही क्लाइंट SQL सर्वर प्रमाणन का उपयोग करके चला रहे कंप्यूटर से कनेक्ट कर सकते हैं कि क्या देखें।
  12. देखें आप नामित पाइपों प्रोटोकॉल का उपयोग कर कनेक्ट कर सकते हैं या नहीं।

संदर्भ

कैसे Kerberos प्रमाणीकरण और सुरक्षा कि गई SSPI कार्य, क्लिक करें Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्याओं के बारे में अधिक जानकारी के लिए:
266080 अक्सर पूछे जाने वाले Kerberos प्रमाणीकरण प्रश्नों के उत्तर
231789 Windows 2000 के लिए स्थानीय लॉगऑन प्रक्रिया
304161 कि गई SSPI पारस्परिक प्रमाणन क्लाइंट पर सर्वर साइड पर नहीं दर्शाता है
232179 Windows 2000 में Kerberos व्यवस्थापन
230476 सामान्य Kerberos-संबंधित त्रुटि Windows 2000 में का विवरण
262177 कर्बेरॉस इवेंट लॉगिंग को सक्षम कैसे करें
277658 Setspn डोमेन नाम जहाँ SQL सर्वर SPN पंजीकृत है NetBIOS नाम से भिन्न है, तो विफल रहता है
244474 कर्बेरॉस को Windows Server 2003, Windows XP में, और Windows 2000 में UDP के बजाय TCP का उपयोग करने के लिए बाध्य करने के लिए कैसे
Microsoft SQL Server 2000 सुरक्षा के बारे में एक श्वेत पत्र को देखने के लिए, निम्न Microsoft वेब साइट पर जाएँ:

चेतावनी: इस आलेख का स्वचालित रूप से अनुवाद किया गया है

गुण

आलेख ID: 811889 - पिछली समीक्षा: 08/03/2013 08:08:00 - संशोधन: 9.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 KbMthi
प्रतिक्रिया