sql server - SQL सर्वर पुनर्स्थापित त्रुटि-एक्सेस अस्वीकार कर दी गई है




sql-server sql-server-2005 (12)

बैकअप निर्माता के पास MSSQL संस्करण 10 स्थापित था, इसलिए जब उसने बैकअप लिया तो यह मूल फ़ाइल पथ (उसी स्थान पर इसे पुनर्स्थापित करने में सक्षम होने के लिए) भी संग्रहीत करता है, लेकिन मेरे पास संस्करण 11 था, इसलिए इसे गंतव्य निर्देशिका नहीं मिली।

इसलिए मैंने आउटपुट फ़ाइल निर्देशिका को C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ DATA \ में बदल दिया, और यह डेटाबेस को सफलतापूर्वक पुनर्स्थापित करने में सक्षम था।

Source

मैंने अपनी स्थानीय मशीन पर एक डेटाबेस बनाया और फिर टेबल DataLabTables tables.bak नामक बैकअप किया।

मैंने उस बैकअप को उस तालिका के बिना रिमोट मशीन पर ले जाया और पुनर्स्थापना करने की कोशिश की लेकिन निम्न त्रुटि प्राप्त करें:

System.Data.SqlClient.SqlError: 'c: \ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DataLabTables पर' RestoreContainer :: ValidateTargetForCreation 'का प्रयास करते समय ऑपरेटिंग सिस्टम ने' 5 (एक्सेस अस्वीकार कर दी है) 'त्रुटि को वापस कर दिया। .mdf '।

अगर मैं समस्या है तो मैं अपने अधिकार कैसे ठीक करूं?


इस तरह की समस्या मिली। SQL सर्वर फ़ोल्डर्स पर सक्षम संपीड़न के कारण त्रुटि।


इसे इस्तेमाल करे:

पुनर्स्थापित डीबी विज़ार्ड विंडो में, फ़ाइलें टैब पर जाएं, अनचेक करें "फ़ोल्डर में सभी फ़ाइलों को स्थानांतरित करें" चेक बॉक्स को फिर से स्थानांतरित करें गंतव्य से सी: किसी अन्य ड्राइव में बदलें। फिर नियमित पुनर्स्थापना प्रक्रिया के साथ आगे बढ़ें। इसे सफलतापूर्वक बहाल कर दिया जाएगा।


एक और परिदृश्य कई डेटाबेस पथों का अस्तित्व हो सकता है। सबसे पहले, उस पथ का ध्यान रखें जहां वर्तमान में नए डेटाबेस संग्रहीत किए जा रहे हैं। तो यदि आप एक नया खाली डेटाबेस बनाते हैं और फिर Tasks/Restore , तो सुनिश्चित करें कि पुनर्स्थापना पथ का उपयोग करने का प्रयास कर रहा है वह वही निर्देशिका है जो खाली डेटाबेस बनाया गया था। भले ही पुनर्स्थापना पथ कानूनी है, फिर भी आपको एक्सेस में त्रुटि से इनकार किया गया है यदि यह वर्तमान पथ नहीं है जिसके साथ आप काम कर रहे हैं। पथ वैध नहीं होने पर स्पॉट करना बहुत आसान है, जब पथ कानूनी है, लेकिन वर्तमान पथ नहीं है तो स्पॉट करना बहुत मुश्किल है।


त्रुटि संदेश से, यह कहता है कि आपके पुनर्स्थापना ऑपरेशन के लक्ष्य ( c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf ) को सत्यापित करते समय कोई त्रुटि हुई है।

ऐसा प्रतीत होता है:

ए) वह फ़ाइल पहले से मौजूद है (क्योंकि आपने इसे पहले से ही बहाल कर दिया है) और SQL सर्वर द्वारा उपयोग में है

या

बी) वह निर्देशिका बिल्कुल मौजूद नहीं है

आपके प्रश्न में, आपने बताया है कि आपने उस तालिका के लिए बैकअप बनाया है - ऐसा नहीं है कि SQL सर्वर बैकअप कैसे काम करता है। वे बैकअप हमेशा पूरे डेटाबेस होते हैं (या उस डेटाबेस से कम से कम एक या कई फ़ाइल समूह)।

मेरा हल है: आप पहले से ही उस डेटाबेस को पुनर्स्थापित कर चुके हैं, और अब, एक दूसरी बहाली पर, आपने अपने पुनर्स्थापित विज़ार्ड में "मौजूदा डेटाबेस को ओवरराइट करें" चेकबॉक्स को चेक नहीं किया है - इस प्रकार मौजूदा फ़ाइल को अधिलेखित नहीं किया जा सकता है और पुनर्स्थापना विफल हो जाती है।

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

C:\program files\.... एक संरक्षित निर्देशिका है - सामान्य (गैर-व्यवस्थापक) उपयोगकर्ताओं को इस निर्देशिका (और इसकी उपनिर्देशिका) तक पहुंच नहीं है।

सबसे आसान समाधान: अपनी बीएके फ़ाइल को कहीं और डालने का प्रयास करें (उदाहरण के लिए C:\temp ) और इसे वहां से पुनर्स्थापित करें


फिर इसे C: के अंतर्गत एक उप फ़ोल्डर में ले जाने का प्रयास करें, लेकिन सत्यापित करें कि उपयोगकर्ता के पास आपके उपयोग के फ़ोल्डर पर पूर्ण अधिकार हैं।


मुझे एक ही समस्या थी, लेकिन मैंने एसक्यूएल सर्वर 2008 आर 2 का इस्तेमाल किया, आपको विकल्पों में जांच करनी चाहिए और उन पथों को सत्यापित करना चाहिए जहां एसक्यूएल फाइलों को सहेजने जा रहे हैं। एमडीएफ और .ldf आपको अपने एसक्यूएल सर्वर इंस्टॉलेशन के पथ का चयन करना होगा। मैंने इसके साथ अपनी समस्या हल की, मुझे उम्मीद है कि यह आपकी मदद करेगा।


मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मैंने 2005 .bak फ़ाइल को पुनर्स्थापित करने का प्रयास किया, और मुझे बिल्कुल वही त्रुटि मिली। मैंने ओवरराइट विकल्प का चयन किया और साथ ही इसका कोई फायदा नहीं हुआ।

मेरा समाधान एसक्यूएल उपयोगकर्ता को प्रश्न में निर्देशिका में पहुंचने, फ़ोल्डर में जाकर और प्रॉपर्टी स्क्रीन के माध्यम से एक्सेस अधिकारों को संपादित करना था।


मुझे यह समस्या थी, मैंने व्यवस्थापक के रूप में लॉग इन किया और इस मुद्दे को ठीक किया।


मेरा मामला थोड़ा अनोखा था। पुस्तक द्वारा सबकुछ किया, लेकिन यह अभी भी असफल रहा।
स्वाभाविक रूप से, यहां लोगों ने यहां क्या सुझाव दिया है - अभी भी कुछ भी काम नहीं किया है।

अंत में, यह कुछ शानदार दिमाग के कारण " databasename.mdf " नामक फ़ोल्डर बना रहा था!

एसक्यूएल ने शिकायत की है कि इसे सी: \ path \ databasename.mdf लिखने की कोई पहुंच नहीं है और मैंने सुनिश्चित किया है कि सभी एनटीएफएस अनुमतियां थीं और सेवा विशिष्ट उपयोगकर्ता के तहत चलती है ...
... और हर बार यह सिर्फ एक दुखी नामित फ़ोल्डर था।

उम्मीद है कि यह किसी को बाल में ग्रे से बचने में मदद करता है :-)


यह सबसे अच्छा समाधान नहीं हो सकता है, लेकिन मैं SQL सर्वर 2005 में पुनर्स्थापित करने का प्रयास कर रहा था, लेकिन मैं SQL Server 2008 में बदल गया और यह काम किया।


सी: \ प्रोग्राम फ़ाइलें \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ पर जाएं और एक नई विंडो प्रकट होने पर पहुंच की अनुमति पर क्लिक करें







restore