sql - एसक्यूएल सर्वर ऑपरेटिंग सिस्टम त्रुटि 5: "5(एक्सेस अस्वीकृत है।)"




sql-server (9)

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

संदेश 5120, स्तर 16, राज्य 101, रेखा 1 भौतिक फ़ाइल "C: \ Murach \ SQL Server 2008 \ डेटाबेस \ AP.mdf" खोलने में असमर्थ। ऑपरेटिंग सिस्टम त्रुटि 5: "5 (एक्सेस अस्वीकृत है।)"।

   CREATE DATABASE AP
      ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf')
      LOG ON (FILENAME =     'C:\Murach\SQL Server 2008\Databases\AP_log.ldf')
      FOR ATTACH
    GO

पुस्तक में लेखक कहते हैं कि इसे काम करना चाहिए, लेकिन यह मेरे मामले में काम नहीं कर रहा है। मैंने खोज की लेकिन मुझे नहीं पता कि समस्या क्या है, इसलिए मैंने यह प्रश्न पोस्ट किया।


SQL सर्वर डेटाबेस इंजन सेवा खाते में नए फ़ोल्डर में पढ़ने / लिखने की अनुमति होनी चाहिए।

this

ठीक करने के लिए, मैंने निम्नलिखित किया:

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

डेटाबेस संलग्न किया और यह ठीक काम करता है।


एक पुरानी पोस्ट, लेकिन यहां एक चरण-दर-चरण है जो विंडोज 7 के तहत चल रहे SQL सर्वर 2014 के लिए काम करता है:

  • नियंत्रण कक्ष ->
  • सिस्टम और सुरक्षा ->
  • प्रशासनिक उपकरण ->
  • सेवाएं ->
  • डबल क्लिक SQL सर्वर (SQLEXPRESS) -> राइट क्लिक करें, गुण
  • लॉग ऑन टैब का चयन करें
  • "स्थानीय सिस्टम खाता" चुनें (डिफ़ॉल्ट कुछ विंडोज सिस्टम खाता था)
  • -> ठीक है
  • राइट क्लिक करें, रोकें
  • राइट क्लिक करें, स्टार्ट

वोला!

मुझे लगता है कि लॉगऑन खाता सेट करना स्थापना में एक विकल्प हो सकता है, लेकिन यदि ऐसा है तो यह डिफ़ॉल्ट नहीं था, और यदि आप इस मुद्दे के बारे में पहले से ही अवगत नहीं थे तो याद करना आसान था।


बहुत सरल समाधान।

  1. सिस्टम व्यवस्थापक के साथ लॉगिन करें
  2. "सी: \ प्रोग्राम फ़ाइलें (x86) \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ DATA" में अपनी एमडीएफ और एलडीएफ फाइलों की प्रतिलिपि बनाएँ "जहां सभी अन्य डेटा फ़ाइल रिकॉर्ड्स।
  3. अब वहां से संलग्न करें यह काम करेगा

मुझे यह समस्या थी। एसक्यूएल सर्वर को व्यवस्थापक के रूप में चलाएं


मैं Users समूह के लिए .mdf और .ldf फ़ाइलों दोनों के लिए Full control अनुमति जोड़कर इस समस्या को हल करता हूं।


मैंने अपने आवेदन में इकाई ढांचे का उपयोग किया और मुझे यह समस्या थी, मैंने फ़ोल्डर और विंडोज सेवाओं में कोई अनुमति सेट की और काम नहीं किया, उसके बाद मैं अपना आवेदन व्यवस्थापक के रूप में शुरू करता हूं (exe फ़ाइल में राइट क्लिक करें और "व्यवस्थापक के रूप में चलाएं" चुनें) और यह काम करता है ठीक।


यहां तक ​​कि यदि आप निम्न चरणों का पालन करते हैं तो भी आपको एक ही त्रुटि संदेश मिल सकता है।

1. login as SA user (SSMS)
2. Edit the file permissions to say "everyone" full access (windows folder)
3. Delete the Log file (Windows Exploring  (this was what I had done per advise from some msdn forum) 

मुझे अभी भी अनुमति त्रुटि मिली है, लेकिन फिर मैंने देखा कि अटैच स्क्रीन में, नीचे अनुभाग अभी भी LOG फ़ाइल दिखाता है, और त्रुटि संदेश वही बना रहता है।

उम्मीद है कि यह किसी ऐसे व्यक्ति की मदद करेगा जिसने एक ही काम किया है।


वास्तविक सर्वर अनुमतियां इस बिंदु पर कोई फर्क नहीं पड़ता; सब ठीक दिखता है। एसक्यूएल सर्वर को फ़ोल्डर अनुमतियों की आवश्यकता है।
अपने संस्करण के आधार पर, आप अपने फ़ोल्डर को छूने के लिए SERVERNAME $ MSSQLSERVER अनुमतियां जोड़ सकते हैं। ओथवाइज, इसे डिफ़ॉल्ट बैकअप निर्देशिका में होना चाहिए (या तो जहां आपने इसे स्थापित किया है या c: \ programfiles (x) \ MSSQL \ BACKUP में डिफ़ॉल्ट है।


हां, यह सही है। सबसे पहले आपको sqlserver का अपना सेवा खाता पता होना चाहिए, आप इसे टास्क मैनेजर में देख सकते हैं जब आप एक ही समय में ctrl + alt + delete दबाते हैं; फिर, आपको "सी" के पढ़ने / लिखने का विशेषाधिकार देना होगा : सेवा खाते में \ Murach \ SQL Server 2008 \ डेटाबेस "।





sql-server