आप SQL Server Error 18456 का सामना कर सकते हैं अगर सर्वर कनेक्शन को प्रमाणित नहीं कर सका और यह SQL सर्वर के लिए एडमिनिस्ट्रेटर अधिकारों की अनुपलब्धता के कारण या अगर SQL सर्वर सेटिंग्स में TCP/IP प्रोटोकॉल अक्षम है, के कारण हो सकता है।
समस्या तब उत्पन्न होती है जब यूजर SQL सर्वर (लोकल या रिमोट) से कनेक्ट करने का प्रयास करता है लेकिन एरर 18456 (विभिन्न स्टेट्स के साथ) का सामना करता है।

आप नीचे दिए गए समाधानों को आजमाकर SQL सर्वर Error 18456 को ठीक कर सकते हैं लेकिन उससे पहले, जांचें कि क्या सर्वर, क्लाइंट कंप्यूटर, और नेटवर्किंग कंप्यूटर को रीस्टार्ट करने से समस्या हल होती है। इसके अलावा, सुनिश्चित करें कि आप सही यूजरनेम और पासवर्ड टाइप कर रहे हैं (एड्रेस कॉपी-पेस्ट नहीं कर रहे)।
साथ ही, जांचें कि क्या आप सही डेटाबेस नाम दर्ज कर रहे हैं (इसमें कोई टाइपो नहीं) और सुनिश्चित करें कि आपने कॉन्फ़िगरेशन फ़ाइल को तदनुसार अपडेट किया है। इसके अलावा, जांचें कि क्या अकाउंट अनलॉक करना (क्वेरी ALTER LOGIN WITH PASSWORD= UNLOCK का उपयोग करके) समस्या हल करता है। अगर आप SQL एरर लॉग में एरर देख रहे हैं, तो सुनिश्चित करें कि आपका SQL सर्वर हमले के अधीन नहीं है। अंतिम लेकिन कम नहीं, सुनिश्चित करें कि सर्वर की घड़ी और क्लाइंट कंप्यूटर की घड़ी सही ढंग से सेट है।
SQL Server को एडमिनिस्ट्रेटर के रूप में लॉन्च करें और सर्वर पर UAC अक्षम करें
आप Error 18456 का सामना कर सकते हैं अगर SQL सर्वर के पास अपने ऑपरेशन को निष्पादित करने के लिए उन्नत अनुमतियां नहीं हैं और इसे एडमिनिस्ट्रेटर के रूप में लॉन्च करना (या सर्वर पर UAC कंट्रोल अक्षम करना) समस्या को हल कर सकता है।
SQL Server को एडमिनिस्ट्रेटर के रूप में खोलें
- Windows पर क्लिक करें और SQL Server Management Studio टाइप करें।
- अब SMSS पर राइट-क्लिक करें और Run as Administrator चुनें।

- फिर Yes पर क्लिक करें (अगर UAC प्रॉम्प्ट प्राप्त होता है) और जांचें कि SQL सर्वर Error 18456 से मुक्त है या नहीं।
- अगर नहीं, तो जांचें कि क्या सर्वर मशीन पर UAC अक्षम करने से समस्या हल होती है।
SQL Server को सिंगल यूजर मोड में लॉन्च करें
- Windows पर क्लिक करें, टाइप करें, और SQL Server Configuration Manager खोलें।
- अब SQL Server सर्विस पर राइट-क्लिक करें (SQL Server Services टैब में) और Properties चुनें।

- फिर Startup Parameters टैब पर जाएं और Specify a Startup Parameter बॉक्स में, टाइप करें:
-m
- अब Add पर क्लिक करें और परिवर्तनों को Apply करें।

- फिर SQL Server सर्विस पर राइट-क्लिक करें और Restart चुनें।

- अब Windows पर क्लिक करें, टाइप करें: SQL Server Management Studio, SMSS पर राइट-क्लिक करें, और Run as Administrator चुनें।
- अब जांचें कि क्या आप SQL Server से एडमिनिस्ट्रेटर के रूप में कनेक्ट कर सकते हैं।
- अगर हां, तो डोमेन अकाउंट को SQL सर्वर में जोड़ें और इसे SysAdmin भूमिका असाइन करें।
- अब SQL Server Configuration Manager विंडो पर वापस जाएं और Startup Parameters टैब में -m पैरामीटर हटाएं।
- फिर SQL Server सर्विस को रीस्टार्ट करें (चरण 3) और जांचें कि SQL सर्वर ठीक काम कर रहा है या नहीं।
अगर समस्या बनी रहती है, तो जांचें कि क्या स्टार्टअप पैरामीटर्स या पथ विवरण ठीक से कॉन्फ़िगर किए गए हैं। अगर समस्या अभी भी है, तो सुनिश्चित करें कि आपके यूजर अकाउंट के पास डेटाबेस/रिपोर्टिंग सर्विसेज के लिए आवश्यक अनुमतियां हैं, और फिर जांचें कि समस्या हल हुई है या नहीं।
Server Configuration Manager में TCP/IP प्रोटोकॉल सक्षम करें
SQL सर्वर में Error Code 18456 का अर्थ है कि सर्वर कनेक्शन को प्रमाणित नहीं कर सका और यह तब हो सकता है अगर नेटवर्क पर डेटाबेस तक पहुंचने के लिए आवश्यक TCP/IP प्रोटोकॉल Server Configuration Manager में अक्षम है। इस संदर्भ में, SQL Server Configuration Manager में TCP/IP सक्षम करना समस्या को हल कर सकता है।
- Windows पर क्लिक करें और 2008 जैसे वर्ष के नाम के साथ Microsoft SQL Server का विस्तार करें (आपको विकल्प खोजने के लिए थोड़ा स्क्रॉल करना पड़ सकता है)।
- अब SQL Server Configuration Manager खोलें और Yes पर क्लिक करें (अगर UAC प्रॉम्प्ट प्राप्त होता है)।
- फिर, SQL Server Network Configuration का विस्तार करें और बाएं पैन में सर्वर/डेटाबेस नाम के लिए Protocols चुनें।
- अब, दाएं पैन में, TCP/IP पर डबल-क्लिक करें और Enabled के ड्रॉपडाउन में Yes चुनें।

- फिर अपने परिवर्तनों को Apply करें और Windows पर क्लिक करें।

- अब Services टाइप करें, Services के परिणाम पर राइट-क्लिक करें, और Run as Administrator चुनें।

- फिर SQL Server पर राइट-क्लिक करें (सर्वर के नाम के साथ) और Restart चुनें।

- अब जांचें कि SQL सर्वर Error 18456 से मुक्त है या नहीं।
अगर इससे काम नहीं बना, तो सुनिश्चित करें कि आप SQL सर्वर के सही पोर्ट से कनेक्ट कर रहे हैं (विशेषकर यदि आप मल्टी-सर्वर वातावरण में सर्वर का उपयोग कर रहे हैं)।
SQL Server का ऑथेंटिकेशन मोड बदलें
SQL सर्वर Error 18456 दिखा सकता है अगर SQL सर्वर की प्रमाणीकरण विधि ठीक से कॉन्फ़िगर नहीं की गई है (उदाहरण: आप SQL सर्वर ऑथेंटिकेशन का उपयोग करके लॉग इन करने का प्रयास कर रहे हैं जबकि सर्वर Windows ऑथेंटिकेशन का उपयोग करने के लिए कॉन्फ़िगर किया गया है)। इस मामले में, SQL सर्वर की प्रमाणीकरण विधि बदलना समस्या को हल कर सकता है। आगे बढ़ने से पहले सुनिश्चित करें कि वर्तमान यूजर (उदाहरण के लिए SA) के लिए स्टेटस लॉगिन सक्षम है।
- Microsoft SQL Server Management Studio के Object Explorer में, अपने सर्वर पर राइट-क्लिक करें और Properties चुनें।
- अब, बाएं पैन में, Security चुनें, और दाएं पैन में, SQL Server and Windows Authentication चुनें (या इसके विपरीत)।

- फिर अपने परिवर्तनों को Apply करें और Object Explorer में, सर्वर पर राइट-क्लिक करें।
- अब Restart चुनें और एक बार रीस्टार्ट हो जाने पर, जांचें कि क्या आप Error 18456 के बिना डेटाबेस से कनेक्ट कर सकते हैं।
अगर आप SQL में लॉग इन नहीं कर सकते, तो आप MS Power Tools इंस्टॉल कर सकते हैं और निम्नलिखित को उन्नत कमांड में चला सकते हैं:
psexec.exe -i -s ssms.exe
इसके बाद, आप इंस्टॉलेशन अकाउंट का उपयोग SQL में परिवर्तन करने के लिए कर सकते हैं और यह भी सुनिश्चित करें कि SA अकाउंट अक्षम नहीं है:
SA अकाउंट सक्षम करें और अकाउंट पासवर्ड रीसेट करें
अगर आप SQL Server से कनेक्ट नहीं कर सकते, तो SQL सर्वर के SA अकाउंट को सक्षम करना और उसका पासवर्ड रीसेट करना समस्या को हल कर सकता है।
- Microsoft SQL Server Management Studio लॉन्च करें (आपको डोमेन एडमिन अकाउंट का उपयोग करना पड़ सकता है) और Security का विस्तार करें।
- फिर Logins पर डबल-क्लिक करें और SA खोलें।

- अब एक नया पासवर्ड दर्ज करें और पासवर्ड की पुष्टि करें (सुनिश्चित करें कि आप मजबूत पासवर्ड का उपयोग करते हैं)।
- फिर Server Roles टैब पर जाएं और सुनिश्चित करें कि निम्नलिखित भूमिकाएं चुनी गई हैं:
Public Sysadmin

- अब Status टैब पर जाएं और दाएं पैन में, Enabled चुनें (Login के तहत)।

- फिर अपने परिवर्तनों को Apply करें और Windows बटन पर क्लिक करें।
- अब Services टाइप करें और इस पर राइट-क्लिक करें।
- फिर Run as Administrator चुनें और SQL Server सर्विस पर जाएं।
- अब इस पर राइट-क्लिक करें और Restart चुनें।
- एक बार सर्विस रीस्टार्ट हो जाने पर, जांचें कि SQL सर्वर का Error 18456 साफ हो गया है या नहीं।
नया लॉगिन बनाएं और रिपोर्टिंग सर्विसेज रीस्टार्ट करें
अगर आप डेटाबेस से कनेक्ट करने के लिए किसी अकाउंट का उपयोग नहीं कर सकते, तो नया लॉगिन बनाना और रिपोर्टिंग सर्विसेज रीस्टार्ट करना समस्या को हल कर सकता है।
- Microsoft SQL Server Management Studio लॉन्च करें और इसके Security टैब का विस्तार करें।
- फिर Logins का विस्तार करें और इस पर राइट-क्लिक करें।
- अब New Login चुनें और क्रेडेंशियल्स दर्ज करें (लॉगिन नाम में कंप्यूटर अकाउंट चुनें अगर SQL Server Authentication उपयोग कर रहे हैं)।

- फिर "User Must Change Password at Next Login" को अनचेक करना सुनिश्चित करें और डेटाबेस चुनें।
- अब Server Roles टैब पर जाएं और Public भूमिका चुनें।
- फिर, User Mapping टैब में, डेटाबेस चुनना सुनिश्चित करें और db_owner चुनें।

- अब अपने परिवर्तनों को Apply करें और Windows पर क्लिक करें।
- फिर Services टाइप करें और Services के परिणाम पर राइट-क्लिक करें। फिर Run as Administrator चुनें।
- अब SQL Server Reporting Service पर राइट-क्लिक करें और Restart चुनें।

- फिर डेटाबेस से पुनः कनेक्ट करें और जांचें कि SQL सर्वर Error 18456 से मुक्त है या नहीं।
अगर हां, तो सुनिश्चित करें कि आपने BUILTIN\administrators में एक यूजर बनाया है, और फिर आप उस यूजर का उपयोग SQL Server को मैनेज करने के लिए कर सकते हैं। अगर आपने डेटाबेस को बैकअप से रिस्टोर किया है, तो पुराने यूजर एंट्री को साफ करने के लिए यूजर्स को हटाना और पुनः जोड़ना बेहतर होगा। अगर आप SQL सर्वर को अलग यूजर के रूप में चलाना चाहते हैं, तो Windows Search में Microsoft SQL Server टाइप करें, SQL Server पर Shift+Right-click करें, और Run as a Different User चुनें। अंतिम लेकिन कम नहीं, जांचें कि क्या Azure Data Studio का उपयोग SQL सर्वर के साथ समस्या को हल करता है।