उपयोगकर्ता 'DOMAIN \ MACHINENAME $' के लिए लॉगिन विफल


120

मुझे पता है कि यह लगभग एक डुप्लिकेट है: ASP.NET और SQL Server 2008 में उपयोगकर्ता "NT AUTHORITY \ IUSR" के लिए त्रुटि "लॉगिन विफल हुआ और लॉग इन उपयोगकर्ता 'उपयोगकर्ता नाम' के लिए विफल हुआ - System.Data.SqlClient.SqlException LINQ in बाहरी परियोजना / कक्षा पुस्तकालय लेकिन कुछ चीजें मेरे सर्वर पर अन्य appliations की तुलना में जोड़ नहीं है और मुझे यकीन नहीं है क्यों।

उपयोग किए जा रहे बक्से:

वेब बॉक्स
SQL बॉक्स
SQL परीक्षण बॉक्स

मेरा आवेदन:

मेरे पास ASP.NET वेब अनुप्रयोग है, जो एक वर्ग पुस्तकालय का संदर्भ देता है जो LINQ-to-SQL का उपयोग करता है। क्लास लाइब्रेरी में कनेक्शन स्ट्रिंग को ठीक से सेट किया गया है। लॉगिन के अनुसार उपयोगकर्ता 'यूज़रनेम' के लिए असफल रहा - System.Data.SqlClient.SqlException बाहरी प्रोजेक्ट / क्लास लाइब्रेरी में LINQ के साथ मैंने इस कनेक्शन स्ट्रिंग को वेब एप्लिकेशन में भी जोड़ा।

कनेक्शन स्ट्रिंग SQL क्रेडेंशियल का उपयोग करता है (इसलिए वेब ऐप और क्लास लाइब्रेरी दोनों में):

 <add name="Namespace.My.MySettings.ConnectionStringProduction"
        connectionString="Data Source=(SQL Test Box);Initial Catalog=(db name);Persist Security Info=True;User ID=ID;Password=Password"
        providerName="System.Data.SqlClient" />

इस कनेक्शन को सर्वर एक्सप्लोरर में जोड़ने के माध्यम से काम करने की पुष्टि की गई। यह कनेक्शन स्ट्रिंग my .dbml फ़ाइल का उपयोग कर रहा है।

समस्या:

मुझे निम्नलिखित त्रुटि मिलती है:

System.Data.SqlClient.SqlException: Login failed for user 'DOMAIN\MACHINENAME$'.

अब इस संदर्भ को संदर्भित करते हुए ASP.NET और SQL Server 2008 में उपयोगकर्ता "NT AUTHORITY \ IUSR" के लिए त्रुटि "लॉगिन विफल हो गया, यह कहता है कि यह वास्तव में स्थानीय नेटवर्क सेवा है और किसी अन्य गैर-डोमेन नाम का उपयोग करने से काम नहीं चलेगा।

लेकिन मैं उलझन में हूँ क्योंकि मैंने SQL बॉक्स और SQL टेस्ट बॉक्स SQL ​​प्रबंधन स्टूडियो दोनों को चेक किया है और दोनों में NT AUTHORITY/NETWORK SERVICEसुरक्षा -> लॉगिन, डेटाबेस स्तर पर है, जो सुरक्षा के तहत सूचीबद्ध नहीं है -> उपयोगकर्ता, लेकिन डेटाबेस स्तर पर सुरक्षा -> उपयोगकर्ता मैं कनेक्शन स्ट्रिंग में प्रदर्शित उपयोगकर्ता है।

वेब सर्वर पर NTFS स्तर पर, अनुमतियों में NETWORK SERVICE का पूर्ण नियंत्रण है।

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

ये एप्लिकेशन मेरे SQL बॉक्स में से किसी की अनुमति के बिना मशीन नाम जोड़ने के बिना क्यों काम करते हैं? लेकिन इस समस्या को ठीक करने के लिए एक लिंक मुझे बता रहा है।


तो पुनरावृत्ति करने के लिए, आप डेटाबेस उपयोगकर्ता का उपयोग नहीं कर रहे हैं? हम एक बना सकते हैं और इसके बीच और एसए के बीच टॉगल कर सकते हैं, जो हमें करने की आवश्यकता पर निर्भर करता है ...
jcolebrand

कनेक्शन स्ट्रिंग में मैं एक डेटाबेस उपयोगकर्ता का उपयोग कर रहा हूं, जिसे मैंने सुरक्षा -> लॉगिन्स क्षेत्र में बनाया है, इसे सुरक्षा -> डेटाबेस के उपयोगकर्ताओं के साथ जोड़ा, और इसे dbo अनुमतियाँ दीं। इसी तरह मैंने अपने अन्य सभी ऐप भी किए।
SventoryMang

यहां डिफ़ॉल्ट मशीन नाम का उपयोग करते हुए MSDN से एक स्पष्ट स्पष्टीकरण है, मूल रूप से आप बस डोमेन / मशीन $ को sql में जोड़ते हैं बिना खोज को हिट किए। blogs.msdn.microsoft.com/ericparvin/2015/04/14/…
ब्रेट माईवल्ड

जवाबों:


156

नेटवर्क सेवा और लोकल सिस्टम स्वयं को हमेशा स्थानीय (बिलिन नेटवर्क सर्विस और बिलिन \ सिस्टम) कोरप्सिंग खाते के रूप में प्रमाणित करेगा लेकिन दोनों ही मशीन खाते के दूरस्थ रूप से प्रमाणित होंगे।

यदि आपको विफलता दिखाई देती है, Login failed for user 'DOMAIN\MACHINENAME$'तो इसका मतलब है कि नेटवर्क सेवा या स्थानीय प्रणाली के रूप में चल रही एक प्रक्रिया ने एक दूरस्थ संसाधन तक पहुंच बनाई है, खुद को मशीन खाते के रूप में प्रमाणित किया है और प्राधिकरण से इनकार कर दिया गया है।

विशिष्ट उदाहरण NETWORK सेवा क्रेडेंशियल और दूरस्थ SQL सर्वर से कनेक्ट करने के लिए सेट ऐप पूल में चल रहा एक ASP अनुप्रयोग होगा: ऐप पूल मशीन के रूप में प्रमाणित करेगा चलाने वाली , और क्या यह मशीन खाता है जिसे एक्सेस की आवश्यकता है ।

जब किसी मशीन खाते तक पहुंच से इनकार किया जाता है, तो मशीन खाते तक पहुंच प्रदान की जानी चाहिए। यदि सर्वर 'DOMAIN \ MACHINE $' को लॉगिन करने से इनकार करता है, तो आपको 'DOMAIN \ MACHINE $' को लॉगिन अधिकार देना होगा न कि NETWORK सेवा को। नेटवर्क सेवा तक पहुँच प्रदान करना एक स्थानीय को अनुमति देगा रूप में चलने वाली प्रक्रिया को जोड़ने की , न कि एक दूरस्थ एक, क्योंकि दूरस्थ एक जैसा प्रमाणित करेगा, आपने अनुमान लगाया, DOMAIN \ MACHINE $।

यदि आप दूरस्थ एसक्यूएल सर्वर को SQL लॉगिन के रूप में कनेक्ट करने के लिए एस्प एप्लिकेशन की अपेक्षा करते हैं और आपको DOMAIN \ MACHINE $ के बारे में अपवाद मिलते हैं तो इसका मतलब है कि आप कनेक्शन स्ट्रिंग में एकीकृत सुरक्षा का उपयोग करते हैं। यदि यह अनपेक्षित है, तो इसका मतलब है कि आपके द्वारा उपयोग किए जाने वाले कनेक्शन के तार खराब हो गए हैं।


2
ठीक है कि मैं क्या इकट्ठा हुआ था, स्पष्टीकरण के लिए धन्यवाद। हालाँकि, यह सवाल अभी भी बना हुआ है, मेरे सभी ऐप मेरे वेब सर्वर पर होस्ट किए गए हैं, लेकिन SQL या SQL टेस्ट बॉक्स पर डेटाबेस एक्सेस करते हैं, तो यह रिमोट एक्सेस हां होगा? फिर भी वे काम कर रहे हैं ... लेकिन मेरे SQL बॉक्स में से कोई भी DOMAIN \ MACHENENAME को $ एक्सेस नहीं दे रहा है।
SventoryMang

1
ओह इसके अलावा, मैं SQL सर्वर से SQL लॉगिन के रूप में कनेक्ट होने की उम्मीद करता हूं, लेकिन मैंने अपने कनेक्शन स्ट्रिंग्स को पोस्ट किया है, मैं इंटीग्रेटेड सिक्योरिटी = ट्रू विकल्प का उपयोग नहीं कर रहा हूं, और क्या हो सकता है ??
SventoryMang

2
तीन संभावित स्पष्टीकरण हैं: 1) वे एकीकृत स्थिति के बजाय एसक्यूएल का उपयोग करते हैं (जो सबसे प्रशंसनीय लगता है, क्योंकि आपके पास उदाहरण के लिए एक उपयोगकर्ता आईडी और पासवर्ड स्ट्रिंग में है) 2) वे एकीकृत ऑर्किटेक्ट का उपयोग करते हैं और एक ऐप पोल में चलाते हैं एक अलग क्रेडेंशियल या 3 का उपयोग करता है) वे एकीकृत स्रोत का उपयोग करते हैं, लेकिन एएसपी ऐप कॉलर को लगाता है, इस प्रकार विवश प्रतिनिधिमंडल को ट्रिगर करता है: Technet.microsoft.com/en-us/library/cc739587%28WS.10929.aspx
रेमस रुसानु

2
आपका वेब अनुप्रयोग परियोजना वर्ग पुस्तकालय का उल्लेख होना चाहिए परियोजना , नहीं dll। वेब एप्लिकेशन समाधान के लिए क्लास लाइब्रेरी प्रोजेक्ट जोड़ें, फिर dll के संदर्भ को हटा दें और प्रोजेक्ट का संदर्भ जोड़ें। इस तरह, जब परिनियोजन या परीक्षण करते हैं, तो खुदरा वेब ऐप रिटेल क्लास डीएल को संदर्भित करेगा और डीबग स्वचालित रूप से डिबग को संदर्भित करेगा।
रेमस रुसानु

1
जबकि यह सब अच्छी तरह से और अच्छा है, आप एसक्यूएल में मशीन लॉगिन कैसे जोड़ते हैं? - वे दोनों एक ही डोमेन पर हैं, और मैं एकीकृत सुरक्षा का उपयोग करना पसंद करूंगा। लेकिन सिर्फ "डोमेन \ मशीननाम $" नामक एक खाता जोड़ने से यह पूरी तरह से विफल हो जाता है (जैसे, यह मौजूद नहीं है, और ऑब्जेक्ट एक्सप्लोरर चोक है और ऐसा कुछ भी खोजने में विफल रहता है)।
BrainSlugs83

33

यह त्रुटि तब होती है जब आपने अपना एप्लिकेशन IIS के साथ कॉन्फ़िगर किया है, और IIS SQL सर्वर पर जाता है और क्रेडेंशियल के साथ लॉगिन करने की कोशिश करता है जिसमें उचित अनुमति नहीं है। प्रतिकृति या मिररिंग सेट होने पर यह त्रुटि भी हो सकती है। मैं एक ऐसे समाधान पर जाऊंगा जो हमेशा काम करता है और बहुत सरल है। SQL सर्वर >> सुरक्षा >> लॉगिन पर जाएं और NT AUTHORITY \ NETWORK सेवा पर राइट क्लिक करें और गुण चुनें

लॉगिन गुणों की नई खुली स्क्रीन में, "उपयोगकर्ता मानचित्रण" टैब पर जाएं। फिर, "उपयोगकर्ता मानचित्रण" टैब पर, वांछित डेटाबेस चुनें - विशेष रूप से वह डेटाबेस जिसके लिए यह त्रुटि संदेश प्रदर्शित होता है। निचली स्क्रीन पर, भूमिका db_owner की जाँच करें। ओके पर क्लिक करें।


7
यह मेरे लिए समाधान था क्योंकि वेब एप्लिकेशन और डेटाबेस एक ही मशीन पर हैं। मुझे अभी भी त्रुटि मिली "लॉगिन उपयोगकर्ता के लिए विफल रहा है DOMAIN \ MACHINENAME $" लेकिन SQL लॉगिन में मशीन को जोड़ने से मदद नहीं मिली, लेकिन "NT AUTHORITY \ NETWORK SERVICE" को जोड़ दिया। जब तक आपको जरूरत नहीं है, तब तक आपको भूमिका db_owner का उपयोग नहीं करना चाहिए, सामान्य db_datareader और db_datawriter पर्याप्त है।
जिमिसेवेन

18

मेरे मामले में मेरे पास Identity="ApplicationPoolIdentity"मेरे IIS अनुप्रयोग पूल था।

जब मैंने IIS APPPOOL\ApplicationNameउपयोगकर्ता को SQL सर्वर में जोड़ा तो यह काम करता है।


5
मेरा मानना ​​है कि यह तभी काम करेगा जब IIS और SQL सर्वर एक ही मशीन पर हों।
रॉब डेविस

1
यह मेरे लिए काम किया! मेरे पास एक स्थानीय IIS-SQL सर्वर सेटअप है।
विन शहरदार

1
आपका बहुत बहुत धन्यवाद। SQL Server 2014 से 2017 तक अपने स्थानीय देव परिवेश को अपग्रेड करने के बाद मेरे लिए यह समस्या शुरू हुई। आपका सुझाव इस स्थिति में चांदी की गोली था।
मित्री

धन्यवाद, मेरे लिए भी काम किया। जो मैं उजागर करना चाहूंगा वह यह है कि त्रुटि संदेश अभी भी 'लॉगिन' उपयोगकर्ता के लिए विफल रहा है 'DOMAIN \ MACHINENAME $' भले ही एप्लिकेशन पूल को पूल पहचान के तहत चलाने के लिए सेट किया गया हो और लॉगिन विफल हो, भले ही 'DOMAIN \ MACHINENAME $' वास्तव में हो कनेक्ट करने की अनुमति दी गई है। मुझे भ्रामक त्रुटि संदेश की तरह लगता है।
मिश्रा

16

मूल रूप से इसे हल करने के लिए हमें कुछ सेट अप करने की आवश्यकता है

  • वेब ऐप ApplicationPoolIdentity के तहत चल रहा है
  • कनेक्शन स्ट्रिंग में विंडोज प्रमाणीकरण का उपयोग करके ADO.Net के माध्यम से डेटाबेस से जुड़ने वाला वेब अनुप्रयोग

Windows प्रमाणीकरण के साथ उपयोग किए जाने वाले कनेक्शन स्ट्रिंग में फ़ाइल में Trusted_Connection=Yesविशेषता या समकक्ष विशेषता शामिल Integrated Security=SSPIहैWeb.config

मेरा डेटाबेस कनेक्शन विंडोज ऑथेंटिकेशन मोड में है। तो मैंने इसे हल किया बस ApplicationPoolIdentity से अपने डोमेन लॉग को क्रेडेंशियल्स में लॉग इन करके एप्लीकेशन पूल आइडेंटिटी की पहचान करें डोमेन नाम \ MyloginId

कदम:

  1. एप्लिकेशन पूल पर क्लिक करें
  2. अपने आवेदन का नाम चुनें

  3. एडवांस्ड सेटिंग में जाएं

  4. प्रक्रिया मॉडल का विस्तार करें और पहचान पर क्लिक करें । दाईं ओर तीन बिंदु पर क्लिक करें।
  5. सेट ... बटन पर क्लिक करें और क्रेडेंशियल में अपना डोमेन लॉग प्रदान करें

मेरे लिए यह हल हो गया था।

नोट: उत्पादन या आईटी वातावरण में, आपके पास ऐप पूल पहचान के लिए एक ही डोमेन के तहत सेवा खाता हो सकता है। यदि हां, तो अपने लॉगिन के बजाय सेवा खाते का उपयोग करें।


उपरोक्त प्रश्न के लिए यह स्वीकृत उत्तर होना चाहिए।
makil

14

मेरे लिए काम करने वाली तरकीब Integrated Securityमेरे कनेक्शन स्ट्रिंग से हटाने के लिए थी और नियमित रूप से User ID=userName; Password=passwordअपने कनेक्शन स्ट्रिंग को जोड़ने के लिए अपने काम के दिन में App.configएकीकृत सुरक्षा का उपयोग नहीं किया जा सकता है, लेकिन जो एक में बनाया गया Web.configहै!


3
एक अरब धन्यवाद आपको। विशाल, बड़ी मदद। धन्यवाद धन्यवाद धन्यवाद। यह, मुझे यकीन है, बहुत स्पष्ट है, लेकिन भविष्य के लोगों के लिए, यह यूजर आईडी = कुछ है; पासवर्ड = कुछ;
शुबनीगुरथ

2
पोस्ट के शीर्षक में मुझे वही त्रुटि मिल रही थी। मैंने पाया कि डेटाबेस कनेक्शन स्ट्रिंग में "विश्वसनीय कनेक्शन = सत्य 'होने पर' यूजर आईडी = yourUserid पासवर्ड = yourPassword 'को अनदेखा कर दिया जाता है। मैंने अपनी स्ट्रिंग से "विश्वसनीय कनेक्शन = सत्य" को हटा दिया और इससे मेरी समस्या ठीक हो गई। यह तब तक नहीं हुआ जब तक कि मैंने वीएस 2012 में डिबगिंग से आईआईएस 8. में आवेदन नहीं किया।
टी 3.0

12

किसी सहकर्मी के पास समान त्रुटि थी और यह IIS में थोड़ी कॉन्फ़िगरेशन त्रुटि के कारण था।
गलत एप्लिकेशन पूल को वेब एप्लिकेशन के लिए असाइन किया गया था।

दरअसल हम अपनी जरूरतों को पूरा करने के लिए एक विशिष्ट पहचान वाले कस्टम एप्लीकेशन पूल का उपयोग करते हैं।

उनके स्थानीय IIS प्रबंधक में -> साइटें -> डिफ़ॉल्ट वेब साइट -> हमारे वेब ऐप का नाम -> मूल सेटिंग्स ... हमारे कस्टम एप्लिकेशन पूल के बजाय एप्लिकेशन पूल "DefaultAppPool" था।

सही एप्लिकेशन पूल सेट करने से समस्या हल हो गई।


11

मैंने <identity impersonate="true" />अपने web.config में जोड़ा और यह ठीक काम किया।


7
बस यह समझें कि यह संदर्भ बदल जाएगा, जिसके लिए ASP.NET एप्लिकेशन अपनी संपूर्णता में चलता है। डिफ़ॉल्ट 'नेटवर्क्स सेवा' संदर्भ के तहत चलने के बजाय यह अब एप्लिकेशन (यानी डोमेन \ someUser) का उपयोग करके उपयोगकर्ता के संदर्भ में चलेगा। यह कभी-कभी ठीक है, लेकिन यह समझ लें कि यह परिवर्तन ओपी के लिए केवल एक त्वरित सुधार नहीं है और इसके अन्य नकारात्मक प्रभाव भी हैं जो वांछित नहीं हो सकते हैं।
atconway


6

मेरे लिए समस्या तब हल हो गई जब मैंने एक नेटवर्क खाते के साथ डिफ़ॉल्ट बिल्ट-इन अकाउंट 'ApplicationPoolIdentity' को बदल दिया, जिसे डेटाबेस तक पहुंच की अनुमति थी।

सेटिंग्स इंटरनेट सूचना सर्वर (IIS 7+)> एप्लिकेशन पूल> उन्नत सेटिंग्स> प्रक्रिया मॉडल> ​​पहचान में बनाई जा सकती हैं



3

हमें विश्लेषण सेवा डेटाबेस को संसाधित करते समय समान त्रुटि संदेश मिल रहे थे। यह पता चला कि उपयोगकर्ता नाम, जिसका उपयोग विश्लेषण सेवा उदाहरण चलाने के लिए किया गया था, SQL सर्वर के सुरक्षा लॉगिन में नहीं जोड़ा गया था।

SQL सर्वर 2012 में, SQL सर्वर और विश्लेषण सेवाओं को डिफ़ॉल्ट रूप से विभिन्न उपयोगकर्ताओं के रूप में चलाने के लिए कॉन्फ़िगर किया गया है। यदि आप चूक के साथ चले गए हैं, तो हमेशा सुनिश्चित करें कि एएस उपयोगकर्ता के पास आपके डेटा स्रोत तक पहुंच है!


1
मुझे भी यही समस्या थी। SSAS से त्रुटि समान है, लेकिन खाता नेटवर्क सेवा नहीं है। खाता वास्तव में है: NT सेवा \ MSOLAP $ INSTANCENAME
cdonner

2

अगर आपके पास है तो जांच करें

User Instance=true

कनेक्शन स्ट्रिंग में। इसे हटाने का प्रयास करें जो आपकी समस्या का समाधान करेगा।


2

मुझे SQL सर्वर प्रमाणित उपयोगकर्ता के साथ भी यह त्रुटि हुई थी

मैंने कुछ सुधार करने की कोशिश की, लेकिन उन्होंने काम नहीं किया।

मेरे मामले में समाधान प्रबंधन सर्वर के तहत SQL सर्वर प्रमाणीकरण की अनुमति देने के लिए इसके "सर्वर प्रमाणीकरण मोड" को कॉन्फ़िगर करना था: गुण / सुरक्षा।


1

एकमात्र बिंदु जो सभी को नजरअंदाज करने लगता है, वह यह है कि आप एकीकृत सुरक्षा = सत्य चाहते हैं। आपके पास पूल खाते के तहत चलने वाली साइट हो सकती है। यह सब ठीक है और मूल उपयोगकर्ता क्रेडेंशियल के साथ SQL सर्वर को हिट करना अभी भी संभव है और पूल का नहीं। इसे विवश प्रतिनिधिमंडल कहा जाता है। यदि आप इसे सक्षम करते हैं और SPN विंडो सेट करते हैं, तो अंतिम सेवा में जाने वाले अनुरोधों पर उपयोगकर्ता के साथ पूल के क्रेडेंशियल्स का अनुवाद करेगा (SQL सिर्फ एक ऐसी सेवा है)। आपको वेब सर्वर पर SQL अनुरोधों की सेवा करने वाले ONE और ONLY SQL सर्वर को पंजीकृत करना होगा। यह सब सेट करना मेरे लिए बहुत सही है, यहाँ सही वर्णन करने की कोशिश करना। मुझे खुद इसके माध्यम से काम करने में काफी समय लगा।


0

मैंने समस्या को ठीक करने के लिए कुछ घंटे बिताए और मुझे आखिरकार मिल गया - SQL सर्वर ब्राउज़र "स्टॉप्ड" था। इसे "स्वचालित" मोड में बदलना है:

यदि यह अक्षम है, तो कंट्रोल पैनल-> ​​प्रशासनिक उपकरण-> सेवाओं पर जाएं, और SQL सर्वर एजेंट की तलाश करें। राइट-क्लिक करें, और "गुण" चुनें। "स्टार्टअप प्रकार" ड्रॉपडाउन से, "अक्षम" से "स्वचालित" में बदलें।

यहाँ से बोली


0

मेरे पास पहले भी यही मुद्दा था, Persist Security Info=Trueमेरे लिए काम करने वाले कनेक्शनस्ट्रीम को हटाने से।


0

जब क्लाइंट ने SQL सर्वर का नाम बदला, तो मैं इस समस्या से पार हो गया। SQL रिपोर्टिंग सेवा पुराने सर्वर नाम से कनेक्ट करने के लिए कॉन्फ़िगर की गई थी, जिसे उन्होंने नए सर्वर नाम के IP पर पुनर्निर्देशित करने के लिए एक उपनाम भी बनाया था।

उनके सभी पुराने आईआईएस ऐप उर्फ ​​के माध्यम से नए सर्वर नाम पर पुनर्निर्देशित कर रहे थे। एक कूबड़ पर, मैंने जाँच की कि क्या वे SSRS चला रहे हैं। SSRS साइट से जुड़ने का प्रयास करने में त्रुटि हुई:

"सेवा उपलब्ध नहीं है। समस्या को हल करने के लिए अपने सिस्टम व्यवस्थापक से संपर्क करें। सिस्टम एडमिनिस्ट्रेटर: रिपोर्ट सर्वर अपने डेटाबेस से कनेक्ट नहीं कर सकता। सुनिश्चित करें कि डेटाबेस चल रहा है और पहुंच योग्य है। आप विवरण के लिए रिपोर्ट सर्वर ट्रेस लॉग की भी जांच कर सकते हैं। "

यह सर्वर पर चल रहा था, लेकिन कनेक्ट करने में विफल रहा क्योंकि यह पुराने सर्वर नाम के लिए उपनाम का उपयोग कर रहा था। SSRS को पुनः कॉन्फ़िगर करके पुराने / अन्य नाम के बजाय नए सर्वर नाम का उपयोग करें।


0
  1. ऐप पूल पहचान को स्थानीय प्रणाली में बदलें
  2. SQL Mgmt> सुरक्षा> लॉगिन पर
    1. NT AUTHORITY \ SYSTEM डबल क्लिक पर खोजें
    2. उपयोगकर्ता मैपिंग> अपने डेटाबेस की जाँच करें और इसे नीचे एक भूमिका दें।
    3. एक सही पासवर्ड के साथ उपयोगकर्ता डेटा बेस ओ सुरक्षा लॉगिन बनाने के लिए भी याद रखें।

0

मुझे निम्नलिखित का उपयोग करके एक समाधान का परीक्षण करने की कोशिश में यह त्रुटि मिली

string cn = "Data Source=[servername];Integrated Security=true;Initial Catalog=[dbname];";

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

इसलिए यदि आपकी समस्या मेरी जैसी है: VS को टास्क बार में पिन करें, फिर मेनू खोलने के लिए Shift और राइट क्लिक का उपयोग करें ताकि आप VS को किसी अन्य उपयोगकर्ता के रूप में खोल सकें। यहां छवि विवरण दर्ज करें


0

सराहना करें यहां कुछ अच्छे जवाब हैं, लेकिन जैसा कि मैंने अभी इस काम में समय गंवा दिया है, उम्मीद है कि यह किसी की मदद कर सकता है।

मेरे मामले में, सब कुछ ठीक काम कर रहा था, फिर सवाल में बताई गई त्रुटि के साथ कोई स्पष्ट कारण नहीं था।

IIS नेटवर्क सेवा के रूप में चल रहा था और नेटवर्क सेवा पहले SQL सर्वर पर स्थापित की गई थी (इस पोस्ट के अन्य उत्तर देखें)। सर्वर भूमिकाएँ और उपयोगकर्ता मैपिंग सही दिखीं।

मुद्दा था; बिल्कुल स्पष्ट कारण के लिए नहीं; नेटवर्क सेवा डेटाबेस में 'इंकार' लॉगिन अधिकार के लिए बंद कर दिया था।

तै होना:

  1. SSMS> सुरक्षा> लॉगिन खोलें।
  2. 'NT AUTHORITY \ NETWORK सेवा' पर राइट क्लिक करें और गुण पर क्लिक करें।
  3. 'स्थिति' टैब पर जाएं और Permission to Connect To Database Engine'अनुदान' पर सेट करें ।

नेटवर्क सेवा अनुमति है

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