SQLSERVERAGENT वर्चुअल खाते में फ़ाइल सिस्टम एक्सेस देना


23

मैं इस प्रश्नNT Service\SQLSERVERAGENT के चिह्नित उत्तर के आधार पर, विंडोज अकाउंट फाइल सिस्टम एक्सेस देने की कोशिश कर रहा हूं । मेरा मानना ​​है कि यह एक आभासी सेवा खाता है, और यह नियंत्रण कक्ष -> उपयोगकर्ता खातों के क्षेत्र में नहीं दिखता है।

मैं इस सेवा खाते को फ़ाइल सिस्टम तक कैसे पहुँचा सकता हूँ? विशेष रूप से, विंडोज 7 पर।

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

SQL सर्वर एजेंट प्रक्रिया निम्न त्रुटि संदेश के साथ प्रारंभ करने में विफल रहती है:

Login failed for user 'NT SERVICE\SQLSERVERAGENT'.  
Reason: Failed to open the explicitly specified database 'msdb'.  
[CLIENT: <local machine>]

मेरे Googling के आधार पर, इसे इस खाते की अनुमति के साथ करना होगा।

मुझे यकीन नहीं है कि डेटाबेस भ्रष्ट है, लेकिन यह कहता है कि डेटाबेस एक सामान्य स्थिति में है। SQL सर्वर एजेंट लॉगिन sysadminऔर publicसमूहों का हिस्सा है ।

जवाबों:


18

विशेष रूप से आपके प्रश्न का उत्तर देने के लिए , यहां आप SQL सर्वर एजेंट खाते में निर्मित डिस्क एक्सेस अधिकार कैसे देते हैं। लेकिन जैसा कि मैंने उत्तर दिया है कि मैं वास्तविक मुद्दे पर विश्वास करता हूं पर पढ़ें:

1.> अपनी ड्राइव पर राइट-क्लिक करें, गुण चुनें, बटन जोड़ें पर क्लिक करें और SQLSERVERAGENT खाता दर्ज करें (सुनिश्चित करें कि आपका स्थान इस स्थान से चयनित नहीं है पाठ बॉक्स, बल्कि आपके कंप्यूटर का नाम):

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

2.> खाता मान्य है यह सत्यापित करने के लिए चेक नाम बटन पर क्लिक करें:

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

3.> अब, आपको SQLSERVERAGENT खाते में आवश्यक फ़ाइल अनुमति जोड़ें। शूटिंग की शूटिंग के उद्देश्यों के लिए, आप पूर्ण नियंत्रण देना चाहते हैं और फिर बाद में आवश्यकतानुसार इसे वापस माप सकते हैं:

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

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

यह समस्या को ठीक करेगा यदि किसी ने विंडोज सेवाओं के भीतर खाते को बदल दिया हो जिससे स्टार्टअप पर सेवा विफल हो सकती है। आपको कॉन्फ़िगरेशन प्रबंधक में इसे रीसेट करना होगा। ऐसा करने से कॉन्फ़िगरेशन प्रबंधक SQL सर्वर में जोड़ने के लिए स्थानीय सेवा खाते (NT सेवा \ SQLSERVERAGENT) के लिए MSDB डेटाबेस का प्रबंधन करने के लिए बहुत आवश्यक अनुमतियाँ देता है, जबकि Windows सेवाओं के एप्लेट के भीतर खाते बदलते नहीं है।

कैविएट: 2000 से ऊपर के संस्करण SQL सर्वर एक्सप्रेस में SQL एजेंट शामिल नहीं है। इसके कुछ पहलू दिखाई दे सकते हैं, लेकिन उत्पाद के एक्सप्रेस संस्करण में इसकी अनुपलब्धता है।

आरंभ करने के लिए, SQL सर्वर कॉन्फ़िगरेशन प्रबंधक खोलें और SQL सर्वर सेवाओं में SQL सर्वर एजेंट सेवा को डबल-क्लिक करें। बिल्ट-इन खाता रेडियो बटन चुनें और स्थानीय सेवा चुनें, और लागू करें बटन पर क्लिक करें। महत्वपूर्ण : यदि आप पहले से ही देखते हैं कि यह खाता चुना गया है तो एक अन्य खाता चुना गया है और लागू करें बटन पर क्लिक करें। फिर, इसे वापस स्थानीय सेवा में बदलें और कॉन्फ़िगरेशन प्रबंधक को SQL एजेंट सेवा को प्रारंभ करने के लिए सही MSDB अनुमतियाँ जोड़ने के लिए अनुमति देने के लिए लागू करें बटन पर क्लिक करें। अब, इस नई सेटिंग को प्रतिबिंबित करने के लिए SQL सर्वर एजेंट को पुनरारंभ करें।

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


1
मेरा SQL सर्वर एजेंट खाता NT Service\SQLAgent$MyInstanceNameएक फ़ोल्डर पर सुरक्षा सेट करने और चेक नाम दबाने की कोशिश कर रहा था और कहा कि नाम नहीं मिला और उसे नहीं मिलेगा। बहुत अधिक निराशा के बाद मैंने महसूस किया कि ऐड को जोड़ने की अनुमति देते समय डिफ़ॉल्ट frust फ्रॉम दिस लोकेशन ’मेरी स्थानीय मशीन में सेट नहीं था, यह मेरे डोमेन पर सेट था। इसे मेरी स्थानीय मशीन (पेड़ में बहुत जड़ नोड) में बदलकर इसे NT Service\SQLAgent$MyInstanceNameफ़ोल्डर अनुमतियों में जोड़ने के लिए मेरे खाते का पता लगाने की अनुमति दी।
NIBlyPig

मुझे इवेंट लॉग से "MyInstanceName" प्राप्त हुआ जिसने त्रुटियों को लॉग किया।
जसन

2

मैंने LocalSystem में SQL सर्वर एजेंट लॉगिन खाता सेट करके इस समस्या को हल किया।


2
हालांकि यह एक ऐसा समाधान है जो चीजों को ऊपर और चलाने में मदद कर सकता है, यह आमतौर पर इस उत्तर में
RDFozz

2

मैं निराश हूँ .. जाहिर है कि यह केवल नाम टाइप करने जैसा सरल है। http://zarez.net/?p=3187

सारांश: टाइप करें NT SERVICE \ MSSQLSERVER और फिर चेक नाम पर क्लिक करें बस हिट ठीक है और आप SQL एजेंट खाते के लिए फ़ोल्डर अनुमतियाँ सेट करने में सक्षम हैं।


1
DBA SE पर आपका स्वागत है! मैंने वोट नहीं दिया। आपका उत्तर "लिंक-ओनली उत्तर" श्रेणी में आता है। जब दूरस्थ पक्ष नीचे चला जाता है, तो ये उत्तर समझ से बाहर हो जाते हैं। आपके पोस्ट के समीक्षकों को आपको यह कहना चाहिए था, यह उनकी गलती थी। इसलिए: 1) आपके उत्तर में वास्तव में एक उत्तर होना चाहिए (शीर्ष पर प्रश्न के लिए) 2) यदि आप कुछ भी उद्धृत कर रहे हैं, तो एक वेब पेज का संदर्भ देते हुए, उसके सबसे महत्वपूर्ण पोस्ट में भी कॉपी-पेस्ट करें। | मैंने आपको एक उत्थान दिया, लेकिन मैं अन्य समीक्षकों के लिए आश्वस्त करने का सुझाव देता हूं।
पीटर का कहना है कि मोनिका

उत्कृष्ट सलाह @peterh, इतनी मददगार होने के लिए धन्यवाद। वी जेसन, मैंने आपके उत्तर में आपकी टिप्पणी से सारांश जोड़ा है - जो पर्याप्त हो सकता है लेकिन आप यह देखना चाहेंगे कि क्या आप कुछ और जोड़ना चाहते हैं। सभी सुधार की सराहना की है!
जैक डगलस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.