लक्ष्य प्रिंसिपल का नाम गलत है। SSPI संदर्भ उत्पन्न नहीं कर सकता


96

मैं मशीन A से मशीन B तक SQL सर्वर कनेक्शन पाने के लिए संघर्ष कर रहा हूं जो SQL सर्वर चल रहा है।

मैंने बड़े पैमाने पर गोगल किया है और मैंने जो कुछ भी पाया है वह काम नहीं किया है। न ही वे इसे सुलझाने की प्रक्रिया के माध्यम से आपको कदम से कदम मिलाते हैं।

हम Kerberos का उपयोग नहीं कर रहे हैं, लेकिन NTLM जहां कॉन्फ़िगर किया गया है।

यहाँ छवि विवरण दर्ज करें

इसमें शामिल मशीनें हैं (xx का उपयोग सुरक्षा उद्देश्यों के लिए मशीन के कुछ नाम अस्पष्ट करने के लिए किया जाता है):

  • xxPRODSVR001 - विंडोज सर्वर 2012 डोमेन नियंत्रक
  • xxDEVSVR003 - विंडोज सर्वर 2012 (यह मशीन त्रुटि उत्पन्न कर रही है)
  • xxDEVSVR002 - विंडोज सर्वर 2012 (यह मशीन SQL सर्वर 2012 चला रही है)

निम्नलिखित एसपीएन डीसी (xxPRODSVR001) पर पंजीकृत हैं। मैंने सुरक्षा उद्देश्यों के लिए yyy के साथ डोमेन को अस्पष्ट कर दिया है:

CN = xxDEVSVR002, CN = कंप्यूटर, DC = yyy, DC = स्थानीय के लिए पंजीकृत सेवाप्राप्त नाम

            MSSQLSvc/xxDEVSVR002.yyy.local:49298

            MSSQLSvc/xxDEVSVR002.yyy.local:TFS

            RestrictedKrbHost/xxDEVSVR002

            RestrictedKrbHost/xxDEVSVR002.yyy.local

            Hyper-V Replica Service/xxDEVSVR002

            Hyper-V Replica Service/xxDEVSVR002.yyy.local

            Microsoft Virtual System Migration Service/xxDEVSVR002

            Microsoft Virtual System Migration Service/xxDEVSVR002.yyy.local

            Microsoft Virtual Console Service/xxDEVSVR002

            Microsoft Virtual Console Service/xxDEVSVR002.yyy.local

            SMTPSVC/xxDEVSVR002

            SMTPSVC/xxDEVSVR002.yyy.local

            WSMAN/xxDEVSVR002

            WSMAN/xxDEVSVR002.yyy.local

            Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/xxDEVSVR002.yyy.local

            TERMSRV/xxDEVSVR002

            TERMSRV/xxDEVSVR002.yyy.local

            HOST/xxDEVSVR002

            HOST/xxDEVSVR002.yyy.local

CN = xxDEVSVR003, CN = कंप्यूटर, DC = yyy, DC = स्थानीय के लिए पंजीकृत सेवाप्राप्त नाम

            MSSQLSvc/xxDEVSVR003.yyy.local:1433

            MSSQLSvc/xxDEVSVR003.yyy.local

            Hyper-V Replica Service/xxDEVSVR003

            Hyper-V Replica Service/xxDEVSVR003.yyy.local

            Microsoft Virtual System Migration Service/xxDEVSVR003

            Microsoft Virtual System Migration Service/xxDEVSVR003.yyy.local

            Microsoft Virtual Console Service/xxDEVSVR003

            Microsoft Virtual Console Service/xxDEVSVR003.yyy.local

            WSMAN/xxDEVSVR003

            WSMAN/xxDEVSVR003.yyy.local

            TERMSRV/xxDEVSVR003

            TERMSRV/xxDEVSVR003.yyy.local

            RestrictedKrbHost/xxDEVSVR003

            HOST/xxDEVSVR003

            RestrictedKrbHost/xxDEVSVR003.yyy.local

            HOST/xxDEVSVR003.yyy.local

अब यदि केवल SQL सर्वर त्रुटि संदेश अधिक वर्णनात्मक था और मुझे बताया कि मैं इसे जोड़ने के लिए सक्षम होने के लिए कौन सा प्रमुख नाम कनेक्ट करने का प्रयास कर रहा था।

तो क्या कोई मुझे इस बारे में बता सकता है कि इस एक को कैसे हल किया जाए या क्या आप कुछ भी देख सकते हैं जो मैंने प्रदान किया है जो गलत है?

मुझे अधिक डिबग जानकारी उत्पन्न करने में खुशी होगी, बस मुझे बताएं कि आपको क्या चाहिए।


हम एक आंतरिक DNS सर्वर नहीं चलाते हैं। लेकिन एक समस्या के रूप में इसे खत्म करने के लिए आप कह रहे हैं कि मुझे "पिंग-ए एक्सएक्सएक्स" चाहिए या क्या यह निर्धारित करने का एक और तरीका है कि क्या डुप्लिकेट हैं?
TheEdge

मैं कोई विशेषज्ञ नहीं हूँ, लेकिन मुझे लगा कि SPN और SSPI एक केर्बोस चीज़ है? क्या आप वाकई Kerberos का उपयोग नहीं कर रहे हैं?
डायलन स्मिथ

@DylanSmith ऐसा नहीं है कि मैं देख सकता हूं ..... जब मैंने एसपी को एसक्यूएल सर्वर (अभी नाम भूल गया) में चलाया तो यह सब NTLM के रूप में सामने आया। क्या आप जानते हैं कि मैं कैसे जांचता हूं?
TheEdge

मुझे पता है कि प्रश्न पुराना है, इसलिए समय बचाएं और इस टूल को चलाएं: microsoft.com/en-us/download/…
Eduardo

जवाबों:


59

मुझे ASP.NET MVC ऐप जिस पर मैं काम कर रहा था, के साथ यह समस्या थी।

मुझे एहसास हुआ कि मैंने हाल ही में अपना पासवर्ड बदल दिया था, और मैं इसे लॉग आउट करके और फिर से वापस लॉग इन करके इसे ठीक करने में सक्षम था।


1
यह मेरी समस्या थी। पासवर्ड बदला गया। मेरा खाता ऐप पूल चला रहा था।
ड्रैगोस डर्लुट

जब मेरे पास यह मुद्दा था, तो मैंने लॉग आउट किया और वापस लॉगिन किया। मसला हल किया।
शायर.सारथ

इसी तरह का मुद्दा। इससे मुझे अपने कार्यों को वापस देखने में मदद मिली। टीक्यू
रेड्डी

26

Windows प्रमाणीकरण का उपयोग करते हुए SQL सर्वर प्रबंधन स्टूडियो के माध्यम से कनेक्ट करते समय मुझे यह त्रुटि मिली। मेरा पासवर्ड समाप्त हो गया था लेकिन मैंने अभी तक इसे नहीं बदला था। एक बार बदलने के बाद, मुझे तब लॉग आउट करना पड़ा और वापस लॉग इन करना पड़ा, ताकि मशीन मेरी नई साख का उपयोग कर काम कर सके।


1
मेरे पास यह मुद्दा था। मेरा पासवर्ड समाप्त हो गया, मैंने लॉग इन करते समय इसे बदल दिया और फिर कनेक्ट करने का प्रयास किया लेकिन यह त्रुटि मिली। मैंने फिर अपनी मशीन को लॉक किया, और फिर अपने नए पासवर्ड के साथ अनलॉक किया और मैं फिर से कनेक्ट करने में सक्षम था
bgura

1
रिबूटिंग आवश्यक रूप से चाल नहीं करता है, लेकिन लॉकिंग / अनलॉकिंग लगता है
एंड्रयू ब्रिक

23

Integrated Security=trueइस स्ट्रिंग को कनेक्शन स्ट्रिंग से निकालने के लिए सेटिंग का प्रयास करें ।


महत्वपूर्ण: जैसा कि उपयोगकर्ता @Auspex ने टिप्पणी की है,

एकीकृत सुरक्षा को हटाने से इस त्रुटि को रोका जा सकेगा, क्योंकि आपके विंडोज क्रेडेंशियल के साथ लॉगिन करने की कोशिश करते समय त्रुटि होती है। दुर्भाग्य से, अधिकांश समय, आप अपने विंडोज क्रेडेंशियल्स के साथ लॉगिन करने में सक्षम होना चाहते हैं


यदि आप SSMS के माध्यम से कनेक्शन लेते हैं, तो आप इसे कैसे निकालेंगे?
ज्योफ दाविद

25
खैर, स्पष्ट रूप से हटाने Integrated Security से इस त्रुटि को रोक दिया जाएगा , क्योंकि त्रुटि तब होती है जब आपके विंडोज क्रेडेंशियल के साथ लॉगिन करने की कोशिश की जाती है। दुर्भाग्य से, ज्यादातर समय, आप अपने विंडोज क्रेडेंशियल्स के साथ लॉगिन करने में सक्षम होना चाहते हैं !
शुभ अंक

2
@GeoffDawdy नीचे मेरा जवाब मदद कर सकता है? यह एक समाप्त हो चुके पासवर्ड के कारण था, मुझे अपना पासवर्ड बदलने, लॉग आउट करने और वापस अंदर जाने और फिर सब कुछ सामान्य होने की आवश्यकता थी।
मैट शेफर्ड

3
अपना समय बचाएं और इस टूल को चलाएं: microsoft.com/en-us/download/…
Eduardo

15

विंडोज़ ऑथेंटिकेशन के माध्यम से प्रयास करने पर मुझे वही त्रुटि मिल रही थी। अजीब लगता है, लेकिन सिर्फ मामले में यह किसी और की मदद करता है: ऐसा इसलिए था क्योंकि मेरा डोमेन खाता किसी तरह लॉक हो गया था जबकि मैं अभी भी (!) में लॉग इन था। खाता खोलना इसे ठीक कर दिया।


13

मैं एक पासवर्ड के बजाय एक पिन के साथ विंडोज 10 में प्रवेश कर रहा था। मैंने लॉग आउट किया और इसके बजाय अपने पासवर्ड के साथ वापस लॉग इन किया और प्रबंधन स्टूडियो के माध्यम से SQL सर्वर में प्राप्त करने में सक्षम था।


क्या बकवास है। और इसने काम किया। मैंने इस पर इतना समय बर्बाद किया है। धन्यवाद!
mcb2k3

2
उफ़, यह काफी नहीं था। SSMS ने मुझ पर एक स्विच किया जब मैं नहीं देख रहा था और अपने SQL सर्वर खाते में वापस चला गया। लेकिन मैंने अंत में स्थानीय रूप से स्थानीय खाते का उपयोग करने के लिए स्थानीय रूप से लॉग इन करने के लिए Microsoft खाते का उपयोग करने से स्विच करने का प्रयास किया। यह चाल चली, और यह अब भी काम करने लगता है, भले ही मैं अपने पिन का उपयोग करने में लॉग इन करता हूं।
mcb2k3

पिन के बजाय पासवर्ड का उपयोग करने वाले यूप ने भी मेरे लिए काम किया। Microsoft के लिए +1।
ब्रूनोमार्टिन्सप्रो

हे भगवान! मैं विश्वास नहीं कर सकता कि यह वास्तव में एक अंतर है!
अरनी

9

SSPI संदर्भ त्रुटि निश्चित रूप से इंगित करती है कि Kerberos का उपयोग करके प्रमाणीकरण का प्रयास किया जा रहा है ।

चूंकि Kerberos प्रमाणीकरण SQL सर्वर का Windows प्रमाणीकरण सक्रिय निर्देशिका पर निर्भर करता है , जिसके लिए आपके कंप्यूटर और आपके नेटवर्क डोमेन नियंत्रक के बीच एक थ्रस्टड रिलेशनशिप की आवश्यकता होती है, आपको उस रिश्ते को मान्य करके शुरू करना चाहिए।

आप उस रिश्ते को जल्दी से देख सकते हैं, निम्न पॉवर्सशेल कमांड टेस्ट- ComputerSecureChannel के माध्यम से ।

Test-ComputerSecureChannel -verbose

यहाँ छवि विवरण दर्ज करें

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

आप अपने कंप्यूटर सिक्योर चैनल की मरम्मत कर सकते हैं, निम्न पॉवर्सशेल कमांड के माध्यम से :

Test-ComputerSecureChannel -Repair

सुरक्षा ईवेंट लॉग की जाँच करें, यदि आप केर्बेरोस का उपयोग कर रहे हैं तो आपको प्रमाणीकरण पैकेज के साथ लॉगऑन प्रयास देखना चाहिए: केर्बरोस।

NTLM प्रमाणीकरण विफल हो सकता है और इसलिए एक kerberos प्रमाणीकरण प्रयास किया जा रहा है। आप अपने सुरक्षा ईवेंट लॉग में NTLM लॉगऑन प्रयास विफलता भी देख सकते हैं?

आप kerberos ईवेंट लॉग ऑन कर सकते हैं डीबग करने के लिए डिबग करने का प्रयास करें कि केर्बरोस क्यों विफल हो रहा है, हालांकि यह बहुत ही क्रिया है।

SQL सर्वर के लिए Microsoft का Kerberos कॉन्फ़िगरेशन प्रबंधक इस समस्या का शीघ्र निदान और निदान करने में आपकी सहायता कर सकता है।

यहाँ पढ़ने के लिए एक अच्छी कहानी है: http://houseofbrick.com/microsoft-made-an-easy-button-for-spn-and-double-hop-issues/


यह मेरे लिए मुद्दा तय किया। सक्रिय निर्देशिका में गलत उपयोगकर्ता ऑब्जेक्ट पर SPN पंजीकृत थे। SQL सर्वर के लिए Kerberos कॉन्फ़िगरेशन प्रबंधक ने इसे दो क्लिक तय किया!
क्रेग - MSFT

8

त्रुटियों के इस सबसे अस्पष्ट के लिए बस एक और संभावित समाधान जोड़ने के लिए The target principal name is incorrect. Cannot generate SSPI context. (.Net SqlClient Data Provider):

सत्यापित करें कि SQL सर्वर को पिंग करते समय जो IP हल किया गया है वह कॉन्फ़िगरेशन प्रबंधक में एक जैसा है। जाँच करने के लिए, SQL सर्वर कॉन्फ़िगरेशन प्रबंधक खोलें और फिर SQL सर्वर नेटवर्क कॉन्फ़िगरेशन> MSSQLServer> TCP / IP के लिए प्रोटोकॉल पर जाएँ।

सुनिश्चित करें कि टीसीपी / आईपी सक्षम है और आईपी पते टैब में, सुनिश्चित करें कि सर्वर जिस समय पिंगिंग होता है, वह आईपी वही होता है। इसने मेरे लिए यह त्रुटि ठीक कर दी।


6

यह समस्या एक विंडोज़ क्रेडेंशियल समस्या लगती है। मुझे अपने कार्य लैपटॉप पर एक ही त्रुटि एक वीपीएन के साथ मिल रही थी। मैं अपने डोमेन / उपयोगकर्ता नाम के रूप में माना जाता हूं, जो कि सीधे कनेक्ट करते समय मैं सफलतापूर्वक उपयोग करता हूं, लेकिन जैसे ही मैं दूसरे कनेक्शन के साथ वीपीएन में जाता हूं मुझे यह त्रुटि मिलती है। मुझे लगा कि यह DNS मुद्दा है क्योंकि मैं सर्वर को पिंग कर सकता हूं लेकिन यह पता चला है कि मुझे कमांड प्रॉम्प्ट से अपने उपयोगकर्ता के रूप में एसएमएसएस चलाने की आवश्यकता है।

उदा। रनस / नेटोनली / उपयोगकर्ता: YourDoman \ YourUsername "C: \ Program Files (x86) \ Microsoft SQL सर्वर प्रबंधन स्टूडियो 18 \ Common7 \ IDE \ Ssms.exe"


मेरे पास एक समान मुद्दा था (विंडोज़ वीएम के साथ iMac vpn)। मैंने अपने मैक के वाई-फाई नेटवर्क सेटिंग्स में अपने काम के डीएनएस सर्वरों को जोड़कर इसे हल किया। मुझे लगता है कि वहाँ एक बेहतर तरीका है, लेकिन यह मेरे लिए काम कर रहा है।
एरिक पियरसन

5

अपने SQL बॉक्स और अपने ग्राहक दोनों के लिए लॉगिन करें और टाइप करें:

ipconfig /flushdns
nbtstat -R

यदि वह काम नहीं करता है, तो अपने क्लाइंट मशीन पर अपने डीएचसीपी को नवीनीकृत करें ... यह हमारे कार्यालय में 2 पीसी के लिए काम करता है।


अपने जवाब मेरे ग्राहक मशीन और एसक्यूएल बॉक्स प्लस ipconfig/releaseऔर ipconfig/renewमेरे ग्राहक मशीन पर दिया और यह मेरे लिए काम नहीं किया?
AlbatrossCafe

4

मैं बस इसमें भाग गया और इसे 2 चीजें करके तय किया:

  1. Https://support.microsoft.com/en-us/kb/811889 में वर्णित ADSI एडिट का उपयोग करके सेवा खाते में पठन / लेखन सेवा प्रदान करना।
  2. पहले उपयोग किए जा रहे SQL सर्वर कंप्यूटर खाते (सेवा खाते के विपरीत) पर मौजूद SPN को निकाल रहा है

    setspn -D MSSQLSvc/HOSTNAME.domain.name.com:1234 HOSTNAME
    

    जहां 1234 पोर्ट संख्या का उपयोग उदाहरण के लिए किया गया था (मेरा एक डिफ़ॉल्ट उदाहरण नहीं था)।


मैंने एक MS SQL सर्वर इंस्टेंस को NT Service\MSSQLSSERVERप्रबंधित सेवा खाते के रूप में चलाने से उपयोग करने से स्विच किया । ऐसा करने के बाद, SSMS सर्वर पर स्थानीय रूप से डेटाबेस से जुड़ सकता है, लेकिन मेरे लैपटॉप से ​​दूरस्थ रूप से नहीं। एसपीएन को ठीक करने से समस्या का समाधान हुआ।
हाइड्रार्जियम

4

मेरे मामले में, SQL सर्वर 2014 (मेरे विकास सर्वर पर) को पुनरारंभ करने से समस्या ठीक हो गई।


Ditto SQL Server 2016.
youcantryreachingme

4

मैं एक अलग नेटवर्क में पीसी के एक क्लस्टर पर आईपीवी 6 का परीक्षण कर रहा था और जब मैं वापस यो आईपी 4 पर वापस आया तो इस मुद्दे पर भाग गया। मैं सक्रिय डायरेक्टरी, डीएनएस और डीएचसीपी में खेल रहा था, इसलिए मुझे पता नहीं था कि मैंने केर्बरोस सेटअप को तोड़ने के लिए क्या किया।

मैंने अपने सॉफ़्टवेयर के बाहर के कनेक्शन को इस उपयोगी टिप के साथ रिट्रीट किया, जिससे मैंने रिमोट कनेक्टिविटी को जोड़ा।

https://blogs.msdn.microsoft.com/steverac/2010/12/13/test-remote-sql-connectivity-easily/

तब एक संक्षिप्त खोज के बाद यह Microsoft वेबसाइट https://support.microsoft.com/en-gb/help/811889/how-to-troubleshoot-the-cannot-generate-sspi-context-error-message पर पाया गया ।

SQL सर्वर पर उपकरण चलाएँ देखें कि क्या कोई समस्या है यदि स्थिति त्रुटि कहती है तो दिखाई देने वाले फिक्स बटन को हिट करें।

इससे मेरे लिए समस्या का समाधान हो गया।


3

यह आमतौर पर लापता, गलत या नकली सेवा सिद्धांत नाम (SPN) के कारण होता है

हल करने के लिए कदम:

  1. पुष्टि करें कि AD खाता SQL सर्वर क्या उपयोग कर रहा है
  2. Powershell या CMD में निम्न कमांड को व्यवस्थापक मोड में चलाएं (सेवा खाते में डोमेन नहीं होना चाहिए)
setspn -L <ServiceAccountName> | Select-String <ServerName> | select line
  1. सुनिश्चित करें कि लौटाए गए आउटपुट में एक SPN है जो पूरी तरह से योग्य है, पूरी तरह से योग्य नहीं है, एक बंदरगाह के साथ और एक बंदरगाह के बिना।

    अपेक्षित उत्पादन:

    Registered ServicePrincipalNames for CN=<ServiceAccountName>,OU=CSN Service Accounts,DC=<Domain>,DC=com: 
    MSSQLSvc/<ServerName>.<domain>.com:1433
    MSSQLSvc/<ServerName>:1433                                           
    MSSQLSvc/<ServerName>.<domain>.com
    MSSQLSvc/<ServerName>
    
  2. यदि आप उपरोक्त सभी नहीं देखते हैं, तो निम्न मोड को PowerShell या CMD में व्यवस्थापक मोड में चलाएं (यदि आप डिफ़ॉल्ट 1433 का उपयोग नहीं करते हैं तो पोर्ट को बदलना सुनिश्चित करें)

SETSPN -S  MSSQLSvc/<ServerName> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>:1433 <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain>:1433 <Domain>\<ServiceAccountName>
  1. एक बार पूरा हो जाने के बाद यह डीएनएस प्रचार के लिए सामान्य रूप से कुछ मिनट लेता है

इसके अलावा, यदि आपको डुप्लीकेट एसपीएन के बारे में कोई संदेश मिलता है, तो आप उन्हें हटाना चाहते हैं और उन्हें फिर से बना सकते हैं


2

वेब एप्लिकेशन एक्सेस करते समय मुझे यह समस्या थी। इसका कारण हो सकता है कि मैंने हाल ही में एक विंडोज़ पासवर्ड बदला है।

यह समस्या तब हल हुई जब मैंने ऐप पूल के लिए पासवर्ड अपडेट किया है जहां मैंने वेब एप्लिकेशन होस्ट किया है।


2

क्लाइंट और सर्वर के बीच अपने घड़ी मिलान की जाँच करें।

जब मैंने इस त्रुटि को रुक-रुक कर किया, तो उपरोक्त में से किसी भी उत्तर ने काम नहीं किया, तो हमने पाया कि समय हमारे कुछ सर्वरों पर चला गया था, एक बार जब वे फिर से सिंक हो गए तो त्रुटि दूर हो गई। विंडोज पर समय को स्वचालित रूप से सिंक करने के तरीके को देखने के लिए w32tm या NTP के लिए खोजें।


1

जब से मैं अपनी समस्या का हल ढूंढने के लिए यहां उतरा हूं, दूसरों के यहां भी जमीन के मामले में, मैं यहां अपना समाधान साझा करूंगा।

जब तक मेरी मशीन दूसरे डोमेन पर किसी अन्य कार्यालय में स्थानांतरित नहीं हुई, मैं SQL सर्वर से ठीक से कनेक्ट हो रहा था । फिर, स्विच के बाद, मुझे लक्ष्य प्रिंसिपल नाम के बारे में यह त्रुटि मिल रही थी। यह तय हो गया कि यह पूरी तरह से योग्य नाम का उपयोग करके कनेक्ट हो रहा है जैसे: server.domain.com । और वास्तव में, एक बार जब मैं उस तरह से पहले सर्वर से जुड़ा था, तो मैं केवल सर्वर नाम (पूर्ण योग्यता के बिना) का उपयोग करके अन्य सर्वरों से जुड़ सकता था, लेकिन आपका माइलेज भिन्न हो सकता है।


यह समस्या मुझे केवल तब हुई जब मैंने SQL कनेक्शन में एक प्रमाणपत्र जोड़ा। प्रमाणपत्र FQDN को जारी किया गया था, इसलिए जब मैं FQDN \ Instance से जुड़ता हूं, तो यह काम करता है।
Slogmeister Extraordinaire

1

मैं आज इसमें भाग गया और अपने फिक्स को साझा करना चाहता था, क्योंकि यह केवल अनदेखी है और इसे ठीक करना आसान है।

हम अपने स्वयं के rDNS का प्रबंधन करते हैं और हाल ही में अपने सर्वर नामकरण योजना को फिर से तैयार करते हैं। उस भाग के रूप में, हमें अपने rDNS को अपडेट करना चाहिए और ऐसा करना भूल जाना चाहिए।

एक पिंग ने सही होस्टनाम को बदल दिया, लेकिन एक पिंग-ए ने गलत होस्टनाम वापस कर दिया।

आसान तय: rDNS को बदलें, एक ipconfig / flushdns करें, 30 सेकंड प्रतीक्षा करें (बस मैं कुछ करता हूं), एक और पिंग -a करें, इसे सही होस्टनाम को हल करते हुए देखें, कनेक्ट करें ... लाभ।


1

मैं इसके लिए एक नए में भाग गया: SQL 2012 सर्वर 2012 पर होस्ट किया गया। SQL हमेशा के लिए एक क्लस्टर बनाने का काम सौंपा गया था।
क्लस्टर बनाया गया था सभी को एसएसपीआई संदेश मिला।

कमांड चलाने के बाद आने वाली समस्याओं को ठीक करने के लिए:

setspn -D MSSQLSvc/SERVER_FQNName:1433 DomainNamerunningSQLService

DomainNamerunningSQLService== मैंने SQL के लिए जो डोमेन अकाउंट सेट किया था, उसे कमांड चलाने के लिए एक डोमेन एडमिनिस्ट्रेटर की जरूरत थी। क्लस्टर में केवल एक सर्वर में समस्याएँ थीं।

फिर SQL को पुनरारंभ किया। मेरे आश्चर्य के लिए मैं कनेक्ट करने में सक्षम था।


मेरे पास यही मुद्दा था, लेकिन यह एक क्लस्टर पर नहीं था। मैंने SQL इंजन सेवा के लिए लॉगऑन को एक डोमेन खाते में बदल दिया था। मुझे MSSQLSvc/SERVER_FQNName:*कंप्यूटर खाते से SPN को निकालना था और फिर उन्हें सेवा चलाने वाले उपयोगकर्ता खाते में जोड़ना था।
Slogmeister Extraordinaire

1

मैं अपने लैपटॉप से ​​एक विजुअल स्टूडियो 2015 कंसोल ऐप में वीएम रनिंग SQL सर्वर 2015 से कनेक्ट करने का प्रयास कर रहा था। मैं रात से पहले अपना ऐप चलाता हूं और यह ठीक है। सुबह मैं ऐप को डीबग करने की कोशिश करता हूं और मुझे यह त्रुटि मिलती है। मैंने कोशिश की ipconfig/flushऔर release+ renewऔर अन्य कचरे का एक गुच्छा, लेकिन अंत में ...

अपने VM को पुनरारंभ करें और क्लाइंट को पुनरारंभ करें। उसने मेरे लिए इसे हल कर दिया। मुझे पता होना चाहिए, हर बार पुनरारंभ काम करता है।


इसी तरह का अनुभव, वीएम पर SQLServer 2016। निश्चित नहीं है कि कनेक्शन विफल क्यों होने लगे। VM के पुनरारंभ क्लाइंट को पुनरारंभ करने की आवश्यकता के बिना इसे ठीक किया।
youcantryreachingme

1

मुझे अपने sql सर्वर पर यह समस्या थी। मैंने तब -p mssqlsvc \ Hostname.domainname होस्टनाम सेट किया और फिर अपनी SQL सर्वर सेवा शुरू की।

मैं सोच रहा हूं कि मेरी एसक्यूएल सेवा को बस रोकना और शुरू करना ही ऐसा होगा।


यह वही है जो मैंने काम करने वाले setspn -L <Hostname>सर्वर के साथ तुलना करने के बाद किया था। काम करने वाले सभी उदाहरणों को बंद कर दिया गया, जिनमें एसपीएन पंजीकृत नहीं था। मैं वास्तव में नहीं जानता कि मैं क्या कर रहा हूं, लेकिन जाहिरा तौर पर उन एसपीएन के बिना पंजीकृत, एनटीएलएम का उपयोग किया जा सकता है। धन्यवाद!
BenderBoy

ध्यान रखें कि यह वास्तव में एक समाधान नहीं है यदि आप NTLM के बजाय Kerberos का उपयोग करना चाहते हैं, जैसा कि आपको स्पष्ट रूप से करना चाहिए: serverfault.com/a/384721 । वास्तव में, यह समाधान मूल रूप से केर्बरोस को बंद कर देता है।
बेंडरबॉय

1

मेरे पास एक ही मुद्दा था, लेकिन मशीन को लॉक करना और अनलॉक करना मेरे लिए काम करता था। कभी-कभी, फ़ायरवॉल मुद्दे त्रुटियां देंगे।

मुझे यकीन नहीं है कि यह आपके लिए काम करेगा या नहीं, बस अपना अनुभव साझा कर रहा हूं।


1

मैंने यहां सभी समाधानों की कोशिश की है और उनमें से कोई भी अभी तक काम नहीं किया है। एक वर्कअराउंड जो काम कर रहा है वह है कनेक्ट पर क्लिक करें , सर्वर नाम दर्ज करें , विकल्प, कनेक्शन गुण टैब चुनें। "नेटवर्क प्रोटोकॉल" को "नामित पाइप" पर सेट करें। यह उपयोगकर्ताओं को अपने नेटवर्क क्रेडेंशियल्स का उपयोग करके रिमोट कनेक्ट करने की अनुमति देता है। जब मैं ठीक कर लूंगा तब मैं एक अपडेट पोस्ट करूंगा।


मैंने वास्तव में "टीसीपी / आईपी" के लिए मेरा सेट किया। मुझे नहीं पता कि इसे बदलने का कार्य मेरे नेटवर्क की स्थिति के लिए समस्या या विशिष्ट सेटिंग तय करता है या नहीं ...
Zarepheth

1

मेरे मामले में, समस्या वाईफाई पर DNS स्थापित करने की थी। मैंने सेटिंग्स को हटा दिया, और उन्हें खाली छोड़ दिया, और काम किया।

कोमो फिकौ मिनहा विन्यासुरा डीएनएस करते हैं


1

सुनिश्चित करें कि "SQL सर्वर कॉन्फ़िगरेशन प्रबंधक" से "नामित पाइप" सक्षम हैं। इसने मेरे लिए काम किया।

  1. "SQL सर्वर कॉन्फ़िगरेशन प्रबंधक" खोलें।
  2. बाईं ओर सूची से, "SQL सर्वर नेटवर्क कॉन्फ़िगरेशन" का विस्तार करें।
  3. "[आपके उदाहरण के नाम] के लिए प्रोटोकॉल" का चयन करें।
  4. दाईं ओर की सूची से "नामांकित पाइप्स" पर राइट क्लिक करें।
  5. "सक्षम करें" चुनें
  6. अपनी इंस्टेंस सेवा को पुनरारंभ करें।

1
मेरा भी यही संदेश था। मैं आईपी के साथ जुड़ने की कोशिश कर रहा था, इसलिए मैंने stackoverflow.com/users/8568873/s3minaki , यानी चरण 1-6 के रूप में किया लेकिन मैंने नामांकित पाइप्स के बजाय टीसीपी / आईपी सक्षम किया। इसके अलावा IPALL के तहत मैंने TCP डायनेमिक पोर्ट क्लियर किया और इसके बजाय TCP पोर्ट सेट किया। सुनिश्चित करें कि कोई अन्य उदाहरण इस पोर्ट को चलाता है या इंस्टेंस पुनरारंभ नहीं करेगा। मुझे एक SQL उपयोगकर्ता, विंडोज प्रमाणीकरण अभ्यस्त काम की भी आवश्यकता थी। SQL प्रबंधक में आप xxxx \ instancename, portnr से जुड़ते हैं। यानी 127.0.0.1 \ SQLEXPRESS, 1433
टॉमस हेसे

1

यह Microsoft टूल मैजिक की तरह है। इसे चलाएँ, इसे SQL सर्वर से कनेक्ट करें, और फिक्स पर क्लिक करें

यहाँ से जुड़े पुराने संस्करण ने SQL सर्वर 2017 पर काम किया।

SQL सर्वर के लिए Kerberos कॉन्फ़िगरेशन प्रबंधक https://www.microsoft.com/en-us/download/details.aspx?id=32246


1

मेरी स्थिति में मैं एक डोमेन के बिना एक नेटवर्क पर दूसरे पीसी पर एक पीसी से SQL सर्वर से कनेक्ट करने के लिए एकीकृत सुरक्षा का उपयोग करने की कोशिश कर रहा था । दोनों पीसी पर, मैं एक ही Microsoft खाते के साथ विंडोज में साइन इन कर रहा था । मैंने पीसी और एसक्यूएल सर्वर दोनों पर एक स्थानीय खाते में स्विच किया जो अब सफलतापूर्वक जुड़ता है।


1

मेरे मामले में जब से मैं अपने विकास के माहौल में काम कर रहा था, किसी ने डोमेन नियंत्रक बंद कर दिया था और विंडोज क्रेडेंशियल्स को प्रमाणित नहीं किया जा सका। डोमेन नियंत्रक को चालू करने के बाद, त्रुटि गायब हो गई और सब कुछ ठीक काम किया।


1

नेटवर्क कनेक्शन के कारण इस समस्या के लिए एक और आला। मैं विंडोज़ वीपीएन क्लाइंट के माध्यम से कनेक्ट करता हूं और यह मुद्दा तब उठता है जब मैं वाईफ़ाई से एक वायर्ड कनेक्शन पर स्विच करता हूं। मेरी स्थिति के लिए फिक्स एडॉप्टर मीट्रिक को मैन्युअल रूप से समायोजित करना था।

सभी मीट्रिक मूल्यों को देखने के लिए पॉवरशेल में Get-NetIPInterface का उपयोग करें। निचली संख्या कम लागत है और इसलिए उन्हें खिड़कियों द्वारा पसंद किया जाता है। मैंने ईथरनेट और वीपीएन को स्विच किया और क्रेडेंशियल्स मिल गए, जहां उन्हें एसएसएमएस के लिए खुश रहने की जरूरत थी।

स्वचालित मीट्रिक सुविधा को कॉन्फ़िगर करने के लिए: नियंत्रण कक्ष में, नेटवर्क कनेक्शन पर डबल-क्लिक करें। नेटवर्क इंटरफ़ेस राइट-क्लिक करें, और उसके बाद गुण चुनें। इंटरनेट प्रोटोकॉल (टीसीपी / आईपी) पर क्लिक करें और फिर गुण चुनें। सामान्य टैब पर, उन्नत का चयन करें। IP सेटिंग्स टैब पर एक मीट्रिक निर्दिष्ट करने के लिए, स्वचालित मीट्रिक चेक बॉक्स साफ़ करने के लिए चुनें, और फिर इंटरफ़ेस मीट्रिक क्षेत्र में इच्छित मीट्रिक दर्ज करें।

स्रोत: https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/automatic-metric-for-ipv4-routes


0

मैं इस मुद्दे के एक संस्करण में भाग गया, यहाँ विशेषताएँ थीं:

  • उपयोगकर्ता एक नामित उदाहरण से सफलतापूर्वक कनेक्ट करने में सक्षम था , उदाहरण के लिए, कनेक्शन Server\Instanceसफल थे
  • उपयोगकर्ता डिफ़ॉल्ट उदाहरण से कनेक्ट करने में असमर्थ था , उदाहरण के लिए, Serverएसएसपीआई के बारे में ओपी के स्क्रीनशॉट के साथ विफल होने के लिए कनेक्शन
  • उपयोगकर्ता डिफ़ॉल्ट उदाहरण को पूरी तरह से योग्य नाम से जोड़ने में असमर्थ था, उदाहरण के लिए, कनेक्शन Server.domain.comविफल (टाइमआउट)
  • उपयोगकर्ता नाम पते के बिना आईपी पते को जोड़ने में असमर्थ था, उदाहरण के लिए, कनेक्शन 192.168.1.134विफल
  • अन्य उपयोगकर्ता डोमेन पर नहीं हैं (उदाहरण के लिए, जो उपयोगकर्ता नेटवर्क पर वीपीएन) लेकिन डोमेन क्रेडेंशियल्स का उपयोग करके डिफ़ॉल्ट उदाहरण और आईपी पते से सफलतापूर्वक कनेक्ट करने में सक्षम थे

तो यह पता लगाने की कोशिश करने के कई सिरदर्द के बाद कि यह एकल उपयोगकर्ता कनेक्ट क्यों नहीं कर सका, यहां हम स्थिति को ठीक करने के लिए उठाए गए कदम हैं:

  1. एक का उपयोग कर SPN सूची में सर्वर पर एक नज़र डालें
    setspn -l Server
    । हमारे मामले में, इसने कहाServer.domain.com
  2. में स्थित होस्ट्स फ़ाइल में एक प्रविष्टि जोड़ें C:\Windows\System32\drivers\etc\hosts(नोटपैड को इस फ़ाइल को बदलने के लिए प्रशासक के रूप में चलाएं)। हमने जो प्रविष्टि जोड़ी थी
    Server.domain.com Server

इसके बाद, हम डिफ़ॉल्ट उदाहरण के लिए SSMS के माध्यम से सफलतापूर्वक कनेक्ट करने में सक्षम थे।


0

मुझे भी विंडो प्रमाणीकरण के साथ लॉग करते समय SQL सर्वर 2014 पर यह समस्या थी, इस समस्या को हल करने के लिए मैंने अपने सर्वर को एक बार पुनः आरंभ किया और फिर लॉगिन करने का प्रयास किया, इसने मेरे लिए काम किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.