FIX: जब आप किसी SQL Server 2000 SP3 सर्वर कंप्यूटर से कनेक्ट करने का प्रयास करते समय आपको एक "कि गई SSPI प्रसंग जनरेट नहीं कर सकता" त्रुटि संदेश प्राप्त


सारांश


आप किसी Microsoft SQL Server 2000 सर्विस पैक 3 (SP3) सर्वर कंप्यूटर के लिए किसी क्लायंट कंप्यूटर से कनेक्ट करने का प्रयास करते हैं, तो इंटरनेट प्रोटोकॉल (IP) पता से सर्वर का नाम हल नहीं किया जा सकता कनेक्शन त्रुटि संदेश के साथ विफल हो जाता है। यह व्यवहार इसलिए होता है क्योंकि SQLOLEDB dbnetlib की ConnectionGetSvrUser फ़ंक्शन का वापसी मान गलत तरीके से interprets.
  • एक हॉटफिक्स इस समस्या को हल करता है।
  • इस समस्या को हल करने के लिए, मैन्युअल रूप से क्लाइंट कंप्यूटर IP पते के लिए कोई होस्ट प्रविष्टि बना है।
  • समस्या को पुन: उत्पन्न करने के लिए, बनाएँ और डायनेमिक सर्वर कंप्यूटर का IP पता कॉन्फ़िगर करें, और तब SQL क्वेरी विश्लेषक या Rowset व्यूअर से क्लाइंट कंप्यूटर का उपयोग कर सर्वर कंप्यूटर से कनेक्ट।

लक्षण


जब आप किसी Microsoft SQL Server 2000 SP3 सर्वर कंप्यूटर के लिए क्लाइंट कंप्यूटर से कनेक्ट करने का प्रयास करें, इंटरनेट प्रोटोकॉल (IP) पता से सर्वर का नाम हल नहीं किया जा सकता, और कनेक्शन विफल रहता है।

जब आप SQL क्वेरी विश्लेषक के साथ SQL Server 2000 SP3 सर्वर कंप्यूटर से कनेक्ट हैं, तो आपको निम्न त्रुटि संदेश प्राप्त होता है:
सर्वर: संदेश 11004, स्तर 16, राज्य 1
[Microsoft] [ODBC SQL Server ड्राइवर] कि गई SSPI प्रसंग जनरेट नहीं कर सकता
Rowset व्यूअर का उपयोग करके किसी SQL Server 2000 सर्वर कंप्यूटर से कनेक्ट करने के लिए SQL Server OLE DB प्रदाता (SQLOLEDB) का उपयोग करते हैं, आपको निम्न त्रुटि संदेश प्राप्त होता है:
स्रोत: "Microsoft OLE DB प्रदाता SQL सर्वर के लिए"

इंटरफ़ेस: IID_IDBInitialize
परिणाम: 0x80004005 = E_FAIL

ISQLErrorInfo: [HY000] [0x00002afc]
IErrorInfo: [0x00002afc] "कि गई SSPI प्रसंग जनरेट नहीं कर सकता"

फ़ाइल: D:\MDACTools\rowsetviewer\CBase.cpp
रेखा: 1067

कारण


SQLOLEDB dbnetlib लाइब्रेरी के ConnectionGetSvrUser फ़ंक्शन को कॉल करते हैं, उसे गलत तरीके से यह फ़ंक्शन कोई बूलियन मान देता है जो interprets. ConnectionGetSvrUser फ़ंक्शन को void वापस जाने के लिए डिज़ाइन किया गया है। इसलिए, जो भी EAX रजिस्टर में रहता है, उसमें वापसी मान हो जाता है।


Gethostbyaddr फ़ंक्शन ConnectionGetSvrUser फ़ंक्शन आंतरिक रूप से कॉल करता है। Gethostbyaddr फ़ंक्शन होस्ट नाम जो करने के लिए एक विशेष IP पते से संबंधित प्राप्त करता है। Gethostbyaddr फ़ंक्शन विफल रहता है, तो यह शून्य वर्ण EAX रजिस्टर करने के लिए देता है। इसलिए, ConnectionGetSvrUser फ़ंक्शन कोई गलत मान देता है। यह व्यवहार SQL Server 2000 SP3 सर्वर कंप्यूटर के लिए एक लॉगऑन विफलता के कारण है।


समाधान


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

यदि हॉटफिक्स डाउनलोड के लिए उपलब्ध है, तो वहाँ एक "हॉटफिक्स डाउनलोड उपलब्ध है" खंड इस नॉलेज बेस आलेख के शीर्ष पर है। यदि यह खंड नहीं दिखता है, तो Microsoft ग्राहक सेवा और समर्थन हॉटफिक्स प्राप्त करने के लिए एक अनुरोध सबमिट करें.

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

Date Time Version Size File name
--------------------------------------------------------------

15-Jun-2004 00:22 2000.85.1045.0 28,672 Dbnmpntw.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msadds.dll
15-Jun-2004 00:21 2.80.1045.0 512,000 Msado15.dll
15-Jun-2004 00:21 2.80.1045.0 163,840 Msadomd.dll
15-Jun-2004 00:21 2.80.1045.0 184,320 Msadox.dll
15-Jun-2004 00:21 2.80.1045.0 53,248 Msadrh15.dll
15-Jun-2004 00:21 2.80.1045.0 225,280 Msdaora.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msdart.dll
15-Jun-2004 00:21 2.575.1045.0 139,264 Msorcl32.dll
15-Jun-2004 00:21 3.525.1045.0 221,184 Odbc32.dll
15-Jun-2004 00:22 2000.85.1045.0 24,576 Odbcbcp.dll
15-Jun-2004 00:21 2.80.1045.0 442,368 Oledb32.dll
15-Jun-2004 00:21 2000.85.1045.0 503,808 Sqloledb.dll
15-Jun-2004 00:21 2000.85.1045.0 401,408 Sqlsrv32.dll
15-Jun-2004 00:08 2000.85.1045.0 208,896 Sqlxmlx.dll

वैकल्पिक हल


इस समस्या को हल करने के लिए, मैन्युअल रूप से कोई होस्ट प्रविष्टि आप कनेक्ट करना चाहते हैं जो IP पते के लिए क्लाइंट कंप्यूटर पर बना है।
  1. Windows Explorer प्रारंभ करें।
  2. होस्ट्स फ़ाइल की स्थिति जानें, और तब फ़ाइल को notepad में खोलें।

    नोट आप %SystemRoot%\System32\Drivers\Etc पथ में फ़ाइल की स्थिति जानें कर सकते हैं।
  3. निम्न फ़ाइल के अंत में जोड़ें:
    यादृच्छिक IP कंप्यूटर का नाम

    नोट यादृच्छिक IP नेटवर्क में अन्य कंप्यूटर द्वारा उपयोग में नहीं है जो IP पते के लिए एक प्लेसहोल्डर है। कंप्यूटर का नाम SQL सर्वर 2000 पर चल रहे SP3 है जो कंप्यूटर का नाम के लिए प्लेसहोल्डर है। यादृच्छिक IP IP पते और कंप्यूटर का नाम के नाम में कम से कम एक रिक्ति द्वारा पृथक होने चाहिए।
  4. फ़ाइल मेनू पर, सहेजेंक्लिक करें।
  5. फ़ाइल को बंद करें।

स्थिति


Microsoft ने पुष्टि की है कि यह "इन पर लागू" खण्ड में सूचीबद्ध Microsoft उत्पादों में एक समस्या है.

अधिक जानकारी


समस्या को पुन: उत्पन्न करने के लिए चरण

डायनेमिक IP पता कॉन्फ़िगर करें

  1. SQL Server 2000 SP3 चला रहे कंप्यूटर पर एक व्यवस्थापक के रूप में लॉग ऑन करें।
  2. नियंत्रण कक्ष में, नेटवर्क कनेक्शनडबल-क्लिक करें।
  3. आप संशोधित करना चाहते हैं जो स्थानीय क्षेत्र कनेक्शन डबल क्लिक करें।
  4. स्थानीय क्षेत्र कनेक्शन स्थिति संवाद बॉक्स में, गुणक्लिक करें। स्थानीय क्षेत्र कनेक्शन गुण संवाद बॉक्स प्रकट होता है।
  5. यह कनेक्शन निम्न आइटम्स का उपयोग करता है बॉक्स में, इंटरनेट प्रोटोकॉल (tcp/ip)क्लिक करें, और उसके बाद गुणक्लिक करें। इंटरनेट प्रोटोकॉल (tcp/ip) गुण संवाद बॉक्स प्रकट होता है।
  6. कोई IP पते स्वतः प्राप्त करेंक्लिक करें, और उसके बाद ठीकक्लिक करें।
  7. स्थानीय क्षेत्र कनेक्शन गुण संवाद बॉक्स में, बंद करेंक्लिक करें।

  8. स्थानीय क्षेत्र कनेक्शन स्थिति संवाद बॉक्स में, बंद करेंक्लिक करें।
  9. प्रारंभक्लिक करें, चलाएँक्लिक करें, cmdटाइप करें, और तब ठीकक्लिक करें।
  10. कमांड प्रॉम्प्ट में, पिंग कंप्यूटर का नामटाइप करें, और उसके बाद ENTER दबाएँ।

    नोट कंप्यूटर का नाम SQL Server 2003 चला रहे कंप्यूटर का नाम के लिए प्लेसहोल्डर है

    आप निम्न के जैसा एक त्रुटि संदेश प्राप्त होता है:
    पिंजिंग कंप् यूटर नाम [डायनेमिक IP] 32 बाइट के डेटा के साथ:

    डायनेमिक IPसे उत्तर दें: बाइट्स = 32 समय < 1ms TTL = 128
    डायनेमिक IPसे उत्तर दें: बाइट्स = 32 समय < 1ms TTL = 128
    डायनेमिक IPसे उत्तर दें: बाइट्स = 32 समय < 1ms TTL = 128

    गतिशील IPके लिए पिंग आँकड़े:
    पैकेट: भेजा = 4, प्राप्त हुए = 4, Lost = 0 (0% खो),
    Milli-सेकंड में अनुमानित राउंड ट्रिप समय:
    न्यूनतम 0ms, अधिकतम = 0ms, औसत = = 0ms
    नोट डायनेमिक IP गतिशील IP के कंप्यूटर का नाम कंप्यूटर के लिए एक प्लेसहोल्डर है।
  11. कमांड प्रॉम्प्ट से बाहर निकलें करने के लिए, टाइप करें बाहर निकलें, और उसके बाद ENTER दबाएँ।
  12. E. क्लिक के माध्यम से चरण c दोहराएँ निम्न IP पते का उपयोग करें
  13. डायनेमिक IP पता IP पता बॉक्स में, टाइप करें।

    नोट डायनेमिक IP गतिशील IP के कंप्यूटर का नाम कंप्यूटर के लिए एक प्लेसहोल्डर है।
  14. अपने नेटवर्क के लिए सबनेट मास्क सबनेट मास्क बॉक्स में, टाइप करें।
  15. डिफ़ॉल्ट गेटवे बॉक्स में, इंटरनेट या अन्य नेटवर्क से आपके नेटवर्क से कनेक्ट करता है अपने नेटवर्क पर कंप्यूटर या डिवाइस का IP पता लिखें।
  16. पसंदीदा DNS सर्वर बॉक्स में, IP पते के होस्ट नाम का निराकरण करता है जो कंप्यूटर का IP पता टाइप करें।
  17. वैकल्पिक DNS सर्वर बॉक्स में, इच्छित DNS (डोमेन नाम सिस्टम) सर्वर अनुपलब्ध हो जाता है, तो उपयोग करने के लिए इच्छित DNS कंप्यूटर का IP पता टाइप करें।
  18. उन्नतक्लिक करें। Tcp/ip सेटिंग्स उन्नत दिखाई देता है।
  19. के अंतर्गत IP पतों, जोड़ेंक्लिक करें। Tcp/ip पता संवाद बॉक्स प्रकट होता है।
  20. यादृच्छिक IP पता IP पता बॉक्स में, टाइप करें।

    नोट यादृच्छिक IP नेटवर्क में अन्य कंप्यूटर द्वारा उपयोग में नहीं है जो IP पते के लिए एक प्लेसहोल्डर है।
  21. सबनेट मास्क बॉक्स में, अपने नेटवर्क के लिए सबनेट मास्क दर्ज करें, और तब जोड़ेंक्लिक करें।
  22. उन्नत tcp/ip सेटिंग्समें, ठीकक्लिक करें।
  23. इंटरनेट प्रोटोकॉल (tcp/ip) गुण में, ठीकक्लिक करें। स्थानीय क्षेत्र कनेक्शन गुण संवाद बॉक्स में, बंद करेंक्लिक करें। स्थानीय क्षेत्र कनेक्शन स्थिति संवाद बॉक्स में, बंद करेंक्लिक करें।

SQL क्वेरी विश्लेषक के माध्यम से किसी क्लायंट कंप्यूटर से SQL Server 2000 SP3 सर्वर कंप्यूटर से कनेक्ट करें

  1. SQL क्वेरी विश्लेषक प्रारंभ करें। SQL सर्वर से कनेक्ट करें संवाद बॉक्स प्रकट होता है।
  2. यादृच्छिक IP SQL सर्वर बॉक्स में, टाइप करें।

    नोट यादृच्छिक IP नेटवर्क में अन्य कंप्यूटर द्वारा उपयोग में नहीं है जो IP पते के लिए एक प्लेसहोल्डर है।
  3. Windows प्रमाणन का उपयोग कर कनेक्ट करेंके अंतर्गत, क्लिक करें।
  4. ठीक क्लिक करें. आपको त्रुटि संदेश जो "लक्षण" खंड में बताया गया है ध्यान दें।

Rowset व्यूअर के माध्यम से किसी क्लायंट कंप्यूटर से SQL Server 2000 SP3 सर्वर कंप्यूटर से कनेक्ट करें

  1. Rowset व्यूअर को प्रारंभ करें। Microsoft OLE DB RowsetViewer विंडो प्रकट होता है।
  2. फ़ाइल मेनू पर, पूर्ण कनेक्ट करेंक्लिक करें। पूर्ण कनेक्ट करें - कोई वर्णन उपलब्ध संवाद बॉक्स प्रकट होता है।
  3. के अंतर्गत कनेक्शन SQLOLEDB प्रदाता सूची में, क्लिक करें।
  4. यादृच्छिक IP स्रोतके तहत डेटा स्रोत बॉक्स में, टाइप करें।

    नोट यादृच्छिक IP नेटवर्क में अन्य कंप्यूटर द्वारा उपयोग में नहीं है जो IP पते के लिए एक प्लेसहोल्डर है।
  5. के अंतर्गत लॉगिन, DBPROMPT_NOPROMPT संकेत सूची में क्लिक करें।
  6. गुण टैब पर, उन्नतक्लिक करें। IDBProperties::SetProperties संवाद बॉक्स प्रकट होता है।
  7. DBPROP_AUTH_INTEGRATED चेक बॉक्स को चुनने के लिए क्लिक करें, और उसके बाद ठीकक्लिक करें।
  8. पूर्ण कनेक्ट करें - कोई वर्णन उपलब्ध संवाद बॉक्स में, ठीकक्लिक करें। आपको त्रुटि संदेश जो "लक्षण" खंड में बताया गया है ध्यान दें।
नोट क्लाइंट कंप्यूटर और SQL Server 2000 SP3 सर्वर कंप्यूटर एक ही डोमेन में होना आवश्यक है। आप SQL Server 2000 SP3 सर्वर कंप्यूटर रैंडम IP के साथ एक ही कंप्यूटर से कनेक्ट करने का प्रयास करते हैं, त्रुटि के बिना SQL Server 2000 SP3 सर्वर कंप्यूटर से कनेक्ट होता है।

संदर्भ


अधिक जानकारी के लिए, निम्न Microsoft डेवलपर नेटवर्क (MSDN) वेब साइट पर जाएँ:
OLE DB परीक्षण उपकरण संक्षिप्त अवलोकन
http://msdn2.microsoft.com/en-us/library/ms721219.aspx
अतिरिक्त जानकारी के लिए, Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

323444 Windows Server 2003 में कोई नेटवर्क एडेप्टर का IP पता बदलने के लिए कैसे

अतिरिक्त जानकारी के लिए, Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

824684 Microsoft सॉफ़्टवेयर अद्यतनों का विवरण देने में प्रयुक्त होने वाले मानक शब्दों वर्णन