बैकअप डिवाइस नहीं खोल सकता। ऑपरेटिंग सिस्टम त्रुटि 5


139

नीचे वह क्वेरी है जो मैं .bakअपने डेटाबेस में बैकअप (बनाने के लिए ) का उपयोग कर रहा हूं।

हालाँकि, जब भी मैं इसे चलाता हूं, मुझे हमेशा यह त्रुटि संदेश मिलता है:

Msg 3201, स्तर 16, राज्य 1, पंक्ति 1
बैकअप डिवाइस 'C: \ Users \ Me \ Desktop \ Backup \ MyDB.Bak' नहीं खोल सकता। ऑपरेटिंग सिस्टम त्रुटि 5 (प्रवेश निषेध है।)।

Msg 3013, लेवल 16, स्टेट 1, लाइन 1
बैकअप डेटा असामान्य रूप से समाप्त हो रहा है।

यह मेरी क्वेरी है:

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';

खैर, त्रुटि संदेश बहुत स्पष्ट है, है ना? प्रोग्राम किस उपयोगकर्ता के रूप में चल रहा है? क्या बेक फ़ाइल मौजूद है? क्या आप इसे मैन्युअल रूप से एक्सेस कर सकते हैं?
पेका

1
क्या हमें यह मान लेना चाहिए कि यह फ़ाइल पथ से SQL सर्वर के लिए है, क्योंकि आपने उत्पाद को टैग या शीर्षक में नहीं रखा है?
पॉवरलॉर्ड

इससे पहले कि यह कोई मदद करता है मैं अपने लैपटॉप में सुधार करने से पहले इस क्वेरी को चलाने में सक्षम था। यह SQL Server 2008 है और मैं एक व्यवस्थापक के रूप में चल रहा हूं। जब से मैं इस क्वेरी के साथ इसे बनाने की प्रक्रिया पर हूं, तब बेक फाइल मौजूद नहीं है।
स्माइली

@Smiley फेस: आपको अपने स्थानीय, नेटवर्क के माध्यम से एसक्यूएल फ़ाइल को पढ़ना होगा। तो इसका मतलब है कि आपको SQL फ़ाइल को नेटवर्क से अपने स्थानीय ड्राइव पर ले जाना होगा, और इसे पुनर्स्थापित करना होगा।
mrjimoy_05

जवाबों:


235

हाँ, मैंने अभी यह एक स्कोर किया है।

विंडोज सेवाओं में देखें। प्रारंभ> प्रशासन> सेवाएँ

सूची में सेवा प्राप्त करें: SQL सर्वर (MSSQLSERVER) "लॉग ऑन अस" कॉलम देखें (यदि सूची में मौजूद नहीं है तो इसे जोड़ने की आवश्यकता है)।

यह वह खाता है जिसे आपको निर्देशिका को अनुमति देने की आवश्यकता है, एक्सप्लोरर में राइट क्लिक करें> गुण> शेयर (और सुरक्षा)

नोट : यदि आप नेटवर्क में जा रहे हैं तो वास्तविक निर्देशिका और शेयर को अनुमति देना याद रखें।

लागू करें और अनुमतियों के लिए प्रतीक्षा करें प्रचार करने के लिए, फिर से बैकअप का प्रयास करें।

नोट 2 : यदि आप पूरे नेटवर्क में बैकअप ले रहे हैं और आपकी SQL "लोकल सर्विस" के रूप में चल रही है तो आप मुश्किल में हैं ... आप अनुमतियाँ असाइन करने का प्रयास कर सकते हैं या SQL सर्वर के बाहर स्थानीय और xcopy बैकअप लेना आसान हो सकता है ( एक घंटे बाद)।

नोट 3 : यदि आप नेटवर्क सेवा के रूप में चल रहे हैं तो रिमोट मशीन आपके SQL सर्वर पर नेटवर्क सीरियस को पहचान नहीं पाएगी। यदि यह मामला है तो आपको वास्तविक कंप्यूटर के लिए अनुमतियाँ जोड़ने की आवश्यकता होती है उदा। MyServer $।


20
अनुमतियाँ / ऐड / एडवांस्ड को सूची में उपयोगकर्ता नहीं मिला, लेकिन मैंने "NT Service \ MSSQLSERVER" में चिपकाया और यह एक विजेता की तरह काम किया।
मार्क

3
क्या एक फ़ोल्डर को कवर करने के लिए 'हर किसी' की अनुमति शामिल है?
देवदेव

3
निर्भर करता है, अगर यह एक सार्वजनिक रूप से बेईमान है तो हाँ। यदि यह "कोई भी प्रमाणित" है, तो एक दूरस्थ मशीन पर LOCAL सेवा आमतौर पर योग्य नहीं होगी ... लेकिन क्या आप वास्तव में हर किसी को पहुंच देना चाहते हैं, हमारे लिए यह एक बहुत ही अपमानजनक अपराध है।
रॉबिन वेसे

1
मेरे लिए काम नहीं किया, और मैं सिर्फ C: \ temp \ का समर्थन कर रहा हूं। फ़ोल्डर अनुमतियाँ स्क्रीन बस @Mark ए के रूप में चिपकाने पर भी सेवा, NT सेवा \ MSSQLSERVER , द्वारा उपयोग किए गए लॉगऑन को नहीं पहचान सकेगी । क्या उस सेवा का उपयोग करने के लिए एक अच्छा वैकल्पिक खाता है?
MGOwen

8
मेरे लिए काम किया, महान समाधान! मैं SQL सर्वर एक्सप्रेस 2014 का उपयोग कर रहा हूं, इसलिए आपको 'NT Service \ MSSQL $ SQLEXPRESS' को लिखित अनुमति देने की आवश्यकता होगी।
मिखाइल-टी

11

प्रारंभ मेनू में SQL सर्वर फ़ोल्डर में जाएं और कॉन्फ़िगरेशन टूल पर क्लिक करें SQL सर्वर कॉन्फ़िगरेशन प्रबंधक का चयन करें। इच्छित स्थान पर SQL सर्वर सेवाओं पर, (लॉग ऑन के रूप में) स्थानीय सिस्टम में बदलें


7

SQL सर्वर सेवा खाते में फ़ोल्डर में लिखने की अनुमति नहीं है C:\Users\Kimpoy\Desktop\Backup\


22
मैं इस फ़ोल्डर तक पहुँचने के लिए SQL सर्वर सेवा खाता अनुमतियाँ कैसे दे सकता हूँ? :)
स्माइली

6

मेरे पास हाल ही में यह मुद्दा था, हालांकि मैं सर्वर ए से बैकअप नौकरी चला रहा था, लेकिन डेटाबेस का बैकअप लिया जा रहा था, सर्वर बी पर एक फ़ाइल साझा करने के लिए सर्वर बी पर था। जब सर्वर ए पर एजेंट एक बैकअप टी चलाने के लिए सर्वर बी को बताता है -sql कमांड, इसका वास्तव में सेवा खाता है कि sql SERVER B पर चल रहा है जो सर्वर C का बैकअप लिखने का प्रयास करता है।

बस याद रखें, वास्तविक BACKUP DATABASE कमांड का प्रदर्शन करने वाले sql सर्वर के सेवा खाते को फाइल सिस्टम पर विशेषाधिकारों की आवश्यकता है, न कि एजेंट की।


4

मैं बस अपने आप से गुजर रहा था। मैंने यह सुनिश्चित किया था कि मेरे MSSQLSERVER लॉगिन उपयोगकर्ता के पास था full accessलेकिन यह अभी भी समस्या पैदा कर रहा था। यह केवल एक बार काम करता है जब मैंने गंतव्य को सी की जड़ में स्थानांतरित कर दिया। अधिक महत्वपूर्ण रूप से एक उपयोगकर्ता फ़ोल्डर से बाहर (भले ही मेरे पास पूर्ण अनुमतियों के साथ एक हिस्सा था - यहां तक ​​कि परीक्षण के रूप में "हर कोई" की कोशिश की)।

मुझे नहीं पता कि मैं अपने मुद्दे को "निश्चित" मानता हूं, हालांकि यह "काम" है।

इस धागे में आने वाले किसी भी अन्य उपयोगकर्ताओं के लिए बस एक FYI करें।


1
मुझे लगता है कि यह एंटरप्राइज़ डोमेन के कारण होता है जिसमें नेटवर्क ड्राइव पर उपयोगकर्ता पथ होते हैं ताकि वे मशीन द्वारा लॉग इन किए बिना पारदर्शी रूप से उपयोगकर्ता द्वारा सुलभ हों। इस तरह की स्थिति के रूप में: superuser.com/a/730519
बॉन

@ धन्यवाद! इसने मेरे लिए इस मुद्दे को सुलझा दिया। जिस पथ पर मेरे पास बैकअप फ़ाइल थी वह वास्तव में एक नेटवर्क पथ था।
जॉनएम

4

मैं विंडोज 10 पर SQL एक्सप्रेस 2014 SP1 के साथ एक ही समस्या का सामना करता हूं।

समाधान जो काम करते हैं

  1. टाइपिंग सर्विसेज द्वारा ओपन सर्विस
  2. स्थिति जानें और SQL सर्वर (SQLExpress) खोलें
  3. लॉगऑन टैब पर जाएं
  4. स्थानीय सिस्टम खाता चुनें (डेस्कटॉप के साथ बातचीत करने की अनुमति सेवाओं के लिए भी जाँच करें)
  5. ओके पर क्लिक करें । सेवा बंद करो। सेवा को पुनरारंभ करें।
  6. समस्या सुलझ गयी

3

पुनर्स्थापना प्रक्रिया को करने के लिए आपको किस उपयोगकर्ता को अनुमति देने की आवश्यकता है, यह जानने के लिए, आप निम्नलिखित चरणों का पालन कर सकते हैं:

आपको अपने सर्वर पर जाने की आवश्यकता है जहां SQL सर्वर स्थापित है। SQL सर्वर कॉन्फ़िगरेशन प्रबंधक ढूँढें

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

अगला, आपको "SQL सर्वर सेवा" पर जाने की आवश्यकता है

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

आपके SQL सर्वर (MSSQLSERVER) उदाहरण के तहत "लॉगऑन अस" कॉलम के साथ एक खाता होगा, मेरे मामले में यह NT Service \ MSSQLSERVER है

यह वह खाता है जिसे आपको अपने स्रोत .bak स्थान के सुरक्षा टैब के तहत जोड़ना होगा और उस उपयोगकर्ता को "रीड" अनुमतियाँ दें ताकि बैकअप फ़ाइल को पढ़ा जा सके।

मान लें कि आपकी बैकअप फ़ाइल "D: \ Shared" फ़ोल्डर में मौजूद है, तो आपको इस तरह की अनुमति देने की आवश्यकता है:

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


2

मेरा मुद्दा भी ऐसा ही था। मैंने .bak फ़ाइल में ही लेखन अनुमतियाँ जोड़ीं, और मेरा फ़ोल्डर जिसे मैं NETWORK SERVICE उपयोगकर्ता के लिए बैकअप लिख रहा था। अनुमतियाँ जोड़ने के लिए केवल उस फ़ाइल / निर्देशिका को राइट-क्लिक करें जिसे आप बदलना चाहते हैं, सुरक्षा टैब का चयन करें, और वहां उपयुक्त उपयोगकर्ता / अनुमतियाँ जोड़ें।


1
आपका क्या मतलब है?
स्टीम करें

2

यहाँ मैंने इस मुद्दे को दरकिनार करने के लिए क्या किया।

1) बैकअप पर जाएं

2) डिस्क पर गंतव्य फ़ाइल-पथ निकालें

3) ऐड पर क्लिक करें

4) फ़ाइल नाम में: चेक बॉक्स मैन्युअल रूप से बैकअप नाम में टाइप करें .. \ बैकअप के बाद नीचे की तरह जहाँ Yourdb.bak डेटाबेस बैकअप नाम है

C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ Yourdb.bak

5) ओके पर क्लिक करें

उम्मीद है की यह मदद करेगा!


2

ऐसा होने का एक कारण यह है कि आप अपनी MSSQLSERVER सेवा को स्थानीय प्रणाली का उपयोग नहीं कर रहे हैं। इस समस्या को ठीक करने के लिए, निम्न चरणों का उपयोग करें।

  1. विंडोज + आर का उपयोग करके ओपन रन
  2. Services.msc टाइप करें और सर्विसेज डायलॉग खुल जाएगा
  3. SQL सर्वर (MSSQLSERVER) खोजें
  4. राइट क्लिक करें और गुणों पर क्लिक करें।
  5. लॉग ऑन टैब पर जाएं
  6. स्थानीय सिस्टम खाते का चयन करें और "लागू करें" और "ठीक" पर क्लिक करें
  7. "SQL Server (MSSQLSERVER)" का चयन करके बाएं पैनल पर स्टॉप लिंक पर क्लिक करें और इसे एक बार फिर से शुरू करें।
  8. अपने बैकअप का आनंद लें।

आशा है कि यह आपकी अच्छी तरह से मदद करेगा, जैसा कि मेरे साथ हुआ। चीयर्स!


1

मुझे पता है कि यह एक सटीक समाधान नहीं है लेकिन बाहरी ड्राइव पथों का उपयोग करने से इस समस्या का समाधान हो जाता है।

BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';

1

SQL सर्वर निर्दिष्ट स्थान में बैकअप तक पहुंचने (लिखने) में सक्षम नहीं है।

पहले आपको उस सेवा खाते को सत्यापित करना होगा जिस पर Sql सर्वर चल रहा है। यह कॉन्फ़िगरेशन प्रबंधक या Services.msc का उपयोग करके किया जा सकता है।

या

नीचे क्वेरी का उपयोग करें:

SELECT  DSS.servicename,
    DSS.startup_type_desc,
    DSS.status_desc,
    DSS.last_startup_time,
    DSS.service_account,
    DSS.is_clustered,
    DSS.cluster_nodename,
    DSS.filename,
    DSS.startup_type,
    DSS.status,
    DSS.process_id FROM    sys.dm_server_services AS DSS;

अब कॉलम service_account देखें और इसे नोट करें।

उस स्थान पर जाएं जहां आप बैकअप लेने की कोशिश कर रहे हैं। आपके मामले में: C: \ Users \ Me \ Desktop \ Backup

राइट क्लिक -> गुण -> सुरक्षा ->

सेवा खाता जोड़ें और पढ़ने / लिखने की अनुमति प्रदान करें। इससे समस्या सुलझ जाएगी।


0

मेरे पास एक ही मुद्दा था और नीचे दिए गए यूआरएल ने वास्तव में मेरी मदद की।

यह आपकी मदद भी कर सकता है।

http://blog.sqlauthority.com/2011/04/13/sql-server-fix-error-msg-3201-level-16-cannot-open-backup-device-operating-system-error-5access-is- से इनकार /


6
आपको इस सवाल का जवाब देने की कोशिश करनी चाहिए कि यह लेख आपको कैसे मदद करता है।
अली समी

0

Msg 3201, स्तर 16, राज्य 1, पंक्ति 1 बैकअप डिवाइस नहीं खोल सकता 'C: \ Backup \ Adventure_20120720_1024AM.trn'। ऑपरेटिंग सिस्टम त्रुटि 5 (प्रवेश निषेध है।)। Msg 3013, लेवल 16, स्टेट 1, लाइन 1 बैकप लॉग असामान्य रूप से समाप्त हो रहा है।

मैंने C ड्राइव पर बैकअप फ़ोल्डर को सत्यापित किया है, क्या नया सेवा खाता पूर्ण नियंत्रण अभिगम अनुमति है या नहीं ?, मैंने महसूस किया कि "Test \ Kiran" सेवा खाते में पूर्ण नियंत्रण सुरक्षा अनुमति नहीं है।

कृपया सेवा खाते पर पूर्ण नियंत्रण देने के लिए नीचे दिए गए चरणों का पालन करें:

  1. सी ड्राइव पर जाएं, बैकअप फ़ोल्डर पर राइट क्लिक करें।
  2. सुरक्षा टैब चुनें।
  3. Edit बटन पर क्लिक करें, नई विंडो खुल जाएगी।
  4. Add बटन पर क्लिक करें और Test \ Kiran उपयोगकर्ता खाता दर्ज करें और चेक नाम बटन पर क्लिक करें, यह मान्य करेगा कि आपने दर्ज किया है कि उपयोगकर्ता मौजूद है या नहीं, अगर यह मौजूद है तो यह विंडो पर उपयोगकर्ता को दिखाएगा, ठीक चुनें।
  5. उपयोगकर्ता नाम दर्ज करें और अनुमति के तहत पूर्ण नियंत्रण चेक बॉक्स चुनें।

0

कृपया ड्राइव तक पहुँच की जाँच करें। एक फ़ोल्डर बनाएँ और फ़ोल्डर गुणों पर जाएँ,

आपको सुरक्षा टैब मिल सकता है, उस जांच पर क्लिक करें, जिसमें आपकी उपयोगकर्ता आईडी है या नहीं।

यदि आपकी आईडी नहीं मिल रही है, तो कृपया जोड़ें बटनों पर क्लिक करें और पूरी पहुंच के साथ उपयोगकर्ता का नाम दें।


0

इस फ़ोल्डर को साझा करें और UNC पथ का उपयोग करें, उदाहरण के लिए: \ pc \ backups \ mydb.bak

तब आप शेयर बंद कर सकते हैं।

बहुत सुरुचिपूर्ण नहीं है, लेकिन यह सभी अनुमतियों की समस्याओं को हल करता है (आपको साझा करने के लिए अनुमति देने की आवश्यकता है, जैसा कि ऊपर बताया गया है)


0

मैंने इस समस्या का अनुभव किया जब .BAK फ़ाइल को BitLocker के साथ एन्क्रिप्ट किए गए फ़ोल्डर में अस्थायी रूप से संग्रहीत किया गया था। यह एक अलग फ़ोल्डर में ले जाने के बाद एन्क्रिप्शन को बनाए रखा।

नेटवर्क सेवा खाता फ़ाइल को डिक्रिप्ट करने में असमर्थ था और इसने पूरी तरह से सूचनात्मक त्रुटि संदेश दिया।

BitLocker एन्क्रिप्शन को हटाकर (। फ़ाइल संपत्तियों में "डेटा को सुरक्षित करने के लिए सामग्री एन्क्रिप्ट करें" को हटाकर) .BAK फ़ाइल ने समस्या का समाधान किया।


0

मेरी भी यही त्रुटि है। निम्नलिखित परिवर्तनों ने मुझे इसे ठीक करने में मदद की।

मुझे सर्वर प्रबंधक-> टूल-> सेवाओं की जांच करनी थी और सेवा के लिए उपयोगकर्ता ("लॉग ऑन अस" कॉलम): SQL सर्वर (SQLEXPRESS) की खोज करनी थी।

मैं स्थानीय फ़ोल्डर में गया (C: \ Users \ Me \ Desktop \ Backup) और "NT Service \ MSSQL $ SQLEXPRESS" को उपयोगकर्ता के रूप में लिखकर अनुमतियाँ देने के लिए जोड़ा।


0

नमस्ते आपको क्वेरी को बदलने की आवश्यकता है:

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'

सेवा

BACKUP DATABASE AcinsoftDB
TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'

आपको मेरे लिए पथ कार्यों के सामने एक N जोड़ना होगा।


0

मेरे मामले में, मैं बैकअप फ़ाइल का नाम देना भूल गया और इसने मुझे वही अनुमति त्रुटि दी: /

TO DISK N'{path}\WRITE_YOUR_BACKUP_FILENAME_HERE.bak'

0

मैंने निम्नलिखित 3 चरणों के साथ एक ही समस्या हल की है:

  1. मैंने अपनी बैकअप फ़ाइल को अन्य फ़ोल्डर पथ में संग्रहीत किया है जो सही काम कर रहा है।
  2. सुरक्षा टैब दो फ़ोल्डर्स (छवि के नीचे) के विभिन्न देखें।
  3. सुरक्षा टैब फ़ोल्डर में अनुमति संपादित करें जो सही काम नहीं किया है।

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

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