काम करता है मैं एक विंडोज सेवा लिख रहा हूं जिसे कुछ जानकारी पुनर्प्राप्त करने के लिए SQL सर्वर से कनेक्ट करने की आवश्यकता है। हालांकि, सर्वर मुझे कनेक्ट करने की अनुमति नहीं देता है: login failed for user [domain/username]
। अजीब बात यह है कि सब कुछ एसएसएमएस के अंदर से पूरी तरह से ठीक काम करता है। मैं लॉग इन कर सकता हूं, डेटाबेस से पूछता हूं, और सबकुछ पूरी तरह से काम करता है। यह केवल विंडोज़ सेवा के माध्यम से है कि यह उस त्रुटि को फेंक रहा है।एसक्यूएल "विंडोज़ सेवा के लिए उपयोगकर्ता [उपयोगकर्ता नाम] त्रुटि में विफल रहा, लेकिन एसएसएमएस लॉगिन
संदर्भ के लिए, कनेक्शन स्ट्रिंग मैं उपयोग कर रहा हूँ है:
Data Source=sqlserveraddresshere;Initial Catalog=databasenamehere;User ID=domain\username;Password=password`
मुझे शक है कि इस से संबंधित है, लेकिन यह मेरे अपने उपयोगकर्ता नाम के बजाय अपने कंप्यूटर नाम हो रही है जब मैं एकीकृत सुरक्षा का उपयोग करने का प्रयास करें। मुझे 99% यकीन है कि ऐसा इसलिए है क्योंकि हमारा एंटी-वायरस और मॉनिटरिंग सॉफ्टवेयर अपने विंडोज सत्र के शीर्ष पर एक प्रशासक उपयोगकर्ता को अपना काम करने के लिए धोखा दे रहा है। किसी भी मामले में, सही उपयोगकर्ता नाम और पासवर्ड दर्ज करना चाहिए, भले ही सही हो?
मैंने एक ही त्रुटि से जुड़े कुछ अन्य प्रश्नों पर एक नज़र डाली, लेकिन वे सभी असंबद्ध थे। एसएसएमएस के माध्यम से जो भी हो सकता है, उससे मैं उन सभी को बता सकता हूं जो कोड के माध्यम से अपने एसक्यूएल सर्वर तक पहुंच सकते हैं। यह सबसे समान प्रश्न है जो मुझे मिल सकता है, हालांकि इससे अधिक मदद नहीं मिली: Can't connect to SQL Server: "Login failed for user "."
इसके अलावा, पूछने से पहले, मैंने पहले ही टाइपों के लिए जांच की है। असल में, मैंने यह सुनिश्चित करने के लिए अन्य उपयोगकर्ता के खातों का उपयोग करने की भी कोशिश की है कि मेरी अनुमतियों के साथ कुछ फंकी नहीं चल रही है। अगर आपको मुझे कोई कोड पोस्ट करने की ज़रूरत है तो मुझे बताएं। आपकी सहायताके लिए धन्यवाद!
अद्यतन:
मैं सेवा के लिए खाता परिवर्तित कर दिया और IntegratedSecurity = true
पर वापस आए। ऐसा लगता है कि कुछ बदल गया है, क्योंकि अब मुझे थोड़ा अलग त्रुटि मिल रही है:
Cannot open database "mydatabase" requested by the login. The login failed. >Login failed for user 'MYDOMAIN\myUserName'.
क्या आप एसक्यूएल इवेंट लॉग (प्रबंधन स्टूडियो में, सर्वर का विस्तार, प्रबंधन का विस्तार, एसक्यूएल सर्वर लॉग का विस्तार) की जांच कर सकते हैं और असफल लॉगिन के लिए हमें पूर्ण त्रुटि दे सकते हैं? इसमें एक त्रुटि संख्या, गंभीरता और राज्य शामिल होना चाहिए। –
आह एसक्यूएल इवेंट लॉग की जांच करने से मुझे कुछ नया सीखने में मदद मिली: जिस सर्वर को मैं एक्सेस करने का प्रयास कर रहा हूं वह केवल विंडोज प्रमाणीकरण के लिए कॉन्फ़िगर किया गया है। हालांकि, जब भी मैं डब्ल्यूए का उपयोग करता हूं तब भी लॉगिन विफल रहता है क्योंकि यह अभी भी खाता नाम के बजाय मेरा मशीन नाम भेजता है। मैं अब उस मुद्दे को हल करने और हल करने के लिए कुछ और शोध करूंगा। यहां पूर्ण त्रुटि है (अनामित प्रमाण-पत्र के साथ): उपयोगकर्ता के DOMAIN \ MACHINE_NAME $ 'के लिए विफल। कारण: टोकन-आधारित सर्वर एक्सेस सत्यापन बुनियादी ढांचे त्रुटि के साथ विफल रहा। पिछली त्रुटियों के लिए जाँच करें। [ग्राहक: 10.1.0.188] – VVander
क्या आपके द्वारा पोस्ट किए गए संदेश के ऊपर त्रुटि ** गंभीरता ** ** ** ** ** ** मूल्य है? –