"कोई बैकअप को पुनर्स्थापित करने के लिए चयनित नहीं" SQL सर्वर 2012


150

मेरे पास एसक्यूएल सर्वर 2012 डेटाबेस है जिसमें फाइलस्टार सक्षम है। हालाँकि, जब मैं इसका बैकअप लेता हूं और इसे किसी अन्य SQL सर्वर 2012 आवृत्ति (किसी अन्य मशीन पर) पर पुनर्स्थापित करने का प्रयास करता हूं, तो मुझे बस यह संदेश मिलता है:

बहाल करने के लिए कोई बैकअपसेट चयनित नहीं है।

अधिक स्पष्टीकरण की एक पंक्ति भी नहीं। यहाँ क्या गलत है?

फ़िलेस्ट्रीम के बिना हर दूसरा डेटाबेस ठीक है और इसे सफलतापूर्वक बहाल किया जा सकता है। क्या यह फ़िल्मस्ट्रीम से संबंधित है? क्या मुझे एक हॉटफिक्स या ऐसा कुछ स्थापित करना चाहिए।


1
अभी तक इसे हल नहीं किया है। ऐसा लगता है कि SQL सर्वर कॉन्फ़िगरेशन में समस्याएं हैं। मुझे लगता है कि चीजों को इससे ज्यादा आसान होना चाहिए।
सईद नेमाटी

1
क्या आप टी-एसक्यूएल प्रदान कर सकते हैं जिसका उपयोग आप पुनर्स्थापना का प्रयास करने के लिए कर रहे हैं?
बेन थुल

3
खैर, मैं SSMS की GUI का उपयोग कर रहा हूं।
सईद नेमाटी

यहां तक ​​कि इस तरह से करते हुए, खिड़की के शीर्ष के पास कहीं "स्क्रिप्ट" बटन होना चाहिए। आपके द्वारा सब कुछ सेट करने के बाद आपको लगता है कि यह रीस्टोर के लिए सेट होगा, "ओके" के बजाय हिट करें और यह टी-एसक्यूएल लाएगा जो रिस्टोर के लिए सर्वर के खिलाफ चलाया जाएगा।
बेन थुल

1
WS 2012 R2 (कार्यसमूह) पर SQL 2014 स्टैंडर्ड (स्टैंडअलोन) के साथ मेरे लिए अनुमति जारी थी, लेकिन अनुमतियों के लिए दो बार रिबूट करना पड़ा। इसके लायक क्या है .. आशा है कि आप सभी को भी हल मिलेगा।
बाल्डगले

जवाबों:


177

मुझे यह समस्या थी और यह पता चला कि मैं SQL के गलत संस्करण को पुनर्स्थापित करने की कोशिश कर रहा था। यदि आप इस बारे में अधिक जानकारी चाहते हैं कि क्या हो रहा है, तो निम्न SQL का उपयोग करके डेटाबेस को पुनर्स्थापित करने का प्रयास करें:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

आपको यह त्रुटि संदेश देना चाहिए कि आपको इसे डीबग करना है।


जब आप ऊपर SQL का उपयोग करके पुनर्स्थापना का प्रयास करते हैं तो आपको क्या त्रुटि संदेश मिलता है?
user489998

लगता है कि टी-एसक्यूएल स्क्रिप्ट का उपयोग करके डीबी को बहाल करना काम करेगा। मुझे लगता है कि क्योंकि हमने फाइलस्ट्रीम डेटा का बैकअप नहीं लिया है, यूआई इसे संभाल नहीं सकता है।
सईद नेमाटी 12

1
अच्छा, मुझे कच्चा SQL दृष्टिकोण पसंद है। मुझे एक संदेश मिलता है जैसे `मीडिया सेट में 2 मीडिया परिवार हैं लेकिन केवल 1 प्रदान किया जाता है। सभी सदस्यों को प्रदान किया जाना चाहिए। `- क्या इसका मतलब यह है कि बैकअप स्रोत बैकअप लक्ष्य से भिन्न SQL सर्वर संस्करण था? जब मैं UI दृष्टिकोण ("पुनर्स्थापना") के साथ प्रयास करता हूं, तो मुझे संदेश मिलता है @ शीर्षNo backupset selected to be restored.
लाल मटर


यदि आप मौजूदा डेटाबेस को पूरी तरह से REPLACE विकल्प के साथ उपयोग करना चाहते हैंRESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Iasmini गोम्स

63

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


यह मेरे लिए भी काम कर रहा है। यह SO DUMB है कि मेरे उपयोगकर्ता नाम को उस फ़ोल्डर में अनुमतियाँ मिल सकती हैं, लेकिन इसे प्राप्त करने का एकमात्र तरीका फ़ोल्डर में अनुमतियों के लिए समूह "सभी" को जोड़ना था। इतना निराशाजनक, लेकिन मुझे समय बचाने के लिए धन्यवाद!
हर्लेस्टाइल 3

5
इस मामले में उपयोगी त्रुटि संदेशों की कमी है। मेरा मसला भी इससे हल हो गया।
dodgy_coder

1
Booya! आपको उन सामान्य त्रुटियों से प्यार होगा जो आपको कुछ भी नहीं बताते हैं। बेशक यह अनुमति थी। विभिन्न डोमेन पर sql सर्वर से पुनर्स्थापित करने पर मुझे प्राप्त हुआ। सभी के लिए .bak फ़ाइल की अनुमति परिवर्तित उसके बाद ठीक काम किया।
पूर्वद्रष्टा

.bakफ़ाइल से डेटाबेस को पुनर्स्थापित करने का प्रयास करते समय समान समस्याओं का अनुभव किया था, जो फ़ाइल अपलोड वेब सेवा द्वारा बनाई गई थी, जो कि IIS के तहत चल रही हैApplicationPoolIdentity
apdevelop

26

जब चल रहा हो:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

इसने मुझे निम्नलिखित त्रुटि दी:

डिवाइस 'C: \ NorthwindDB.bak' पर मीडिया परिवार गलत तरीके से बनता है। SQL सर्वर इस मीडिया परिवार को संसाधित नहीं कर सकता है। पहले से ही असामान्य रूप से समाप्त हो रहा है। (Microsoft SQL सर्वर, त्रुटि: 3241) Blockquote

पता चला है कि आप एक DB को उच्चतर SQL संस्करण से निचले स्तर पर नहीं ले जा सकते, भले ही संगतता स्तर स्रोत और गंतव्य DB दोनों पर समान हो। SQL संस्करण चलाने की जाँच करने के लिए:

Select @@Version

अंतर देखने के लिए, बस अपने स्रोत SQL सर्वर पर एक DB बनाएं और अपनी बैकअप फ़ाइल से एक पुनर्स्थापना करने का प्रयास करें, जब आप यह सफ़ेद SSMS करते हैं, तो एक बार जब आप बैकअप फ़ाइल चुनते हैं तो यह आपके बारे में कुछ जानकारी दिखाएगा जब आप इसे opossed करते हैं। इसे एक कम संस्करण सर्वर से खोलें जो बस यही कहेगा कि "कोई बैकअप को बहाल करने के लिए चयनित नहीं है" यहाँ छवि विवरण दर्ज करें

तो अगर आपको अभी भी अपने डेटा को कम संस्करण एसक्यूएल में ले जाना है, तो यह जांचें ।


इसलिए यदि मैं sql सर्वर 2014 एंटरप्राइज के साथ मशीन से db बैकअप लेता हूं - तो क्या इसे sql सर्वर 2014 एक्सप्रेस पर बहाल किया जा सकता है?
चेस्टर ch

@ chester89 मुझे लगता है कि यह इस बात पर निर्भर करता है कि आपके पास डीबी में किस तरह की कार्यक्षमता है। और बैकअप की तरह। एक्सप्रेस संस्करण संपीड़ित बैकअप को नहीं पहचानता है। इसके अलावा, अगर एंटरप्राइज़ संस्करण उद्यम के लिए कुछ अनूठा उपयोग कर रहा है तो मुक्त संस्करण (एक्सप्रेस) इसे पहचान नहीं पाएगा। लेकिन, अगर आपके पास कुछ मानक हैं, तो सैद्धांतिक रूप से इसे मान्यता दी जानी चाहिए।
जुआन अकोस्टा

@ जुआनकोस्टा यप, मैंने इसे एक साथ रखा। मेरे मामले में, उपयोग में कोई उद्यम-विशिष्ट कार्यक्षमता नहीं है, इसलिए मैंने समस्याओं के बिना बैकअप को बहाल किया
chester89

@JuanAcosta क्या आप मुझे एक दस्तावेज़ के लिए इंगित कर सकते हैं जो कहता है कि एक्सप्रेस संस्करण संपीड़ित बैकअप को पुनर्स्थापित नहीं कर सकता है?
chester89

@ चेस्टर कृपया पृष्ठ 234 बिंदु की जांच करें 3. डिफ़ॉल्ट विकल्प एक्सप्रेस संस्करण में केवल एक avaiable है। books.google.com.au/…
जुआन अकोस्टा

15

SQL सर्वर प्रबंधन स्टूडियो को व्यवस्थापक के रूप में चलाएँ (शॉर्टकट / exe पर राइट-क्लिक करें, फिर "व्यवस्थापक के रूप में चलाएँ") का चयन करें, फिर पुनर्स्थापित करने का प्रयास करें।


10

मुझे लगा कि मैं संस्करणों को मिलाने के लिए पर्याप्त बेवकूफ नहीं था - हालांकि, मुझे महसूस नहीं हुआ कि मेरे नए सर्वर पर, पहले से ही जन्म नाम से एक SQL सर्वर 2005 उदाहरण स्थापित किया गया था SQLEXPRESSSQLEXPRESSउदाहरण के लिए, SSMS 2012 में मेरे SQL Server 2008 R2 बैकअप डेटाबेस को पुनर्स्थापित करने का प्रयास करते समय , बैकअप सेट की सूची खाली थी।

आखिरकार मुझे एहसास हुआ कि SQLEXPRESSसर्वर पर उदाहरण 2012 का उदाहरण नहीं था, बल्कि 2005 का था। मैंने डिस्कनेक्ट किया और वास्तविक 2012 के उदाहरण से जुड़ा (मेरे मामले में नामित SQLEXPRESS2012), और यह (जाहिर है) काम किया।


2
इसने मुझे मेरी समस्या के लिए सही दिशा में इशारा किया। मुझे मूल पोस्टर के समान त्रुटि मिली, लेकिन ऐसा इसलिए था क्योंकि मैं SQL एक्सप्रेस 2012 से SQL Server 2008 उदाहरण में बैकअप को पुनर्स्थापित करने का प्रयास कर रहा था। स्पष्ट रूप से यह उचित नहीं है, दुर्भाग्य से मूल समस्या पर पाने के लिए त्रुटि वर्णनात्मक नहीं थी।
लास्टऑन

1
वाह! मैंने साइट से बहुत सारे हॉट-फ़िक्सेस लगाए हैं, लेकिन वह त्रुटि दूर नहीं हुई। मैंने यह उत्तर देखा और Sql Server 2012 के उदाहरण के साथ लॉग इन किया और इसे पुनर्स्थापित करने की कोशिश की, यह काम किया! हुह शुक्रिया :)
अली बेग

1
तो आप कह रहे हैं कि आप पूर्ण संस्करण से एक्सप्रेस संस्करण को पुनर्स्थापित नहीं कर सकते?
ज़ापानोलोगिका 17

7

मेरी समस्या यह थी कि मेरा उपयोगकर्ता बिलिन-एडमिनिस्ट्रेटर समूह में था और SQL सर्वर पर Sysadmin- भूमिका वाला कोई उपयोगकर्ता नहीं था। मैंने अभी प्रशासक के रूप में प्रबंधन स्टूडियो शुरू किया। इस तरह से डेटाबेस को पुनर्स्थापित करना संभव था।


मैंने एक नया sysadmin उपयोगकर्ता बनाने के लिए निम्नलिखित लेख का उपयोग किया (देखें एकल-उपयोगकर्ता मोड का उपयोग करके अनुभाग 2): wikihow.com/Reset-SA-Password-in-Sql-Server
Savage

6

FYI करें: मैंने पाया कि पुनर्स्थापित करते समय, मुझे SSMS में प्रवेश करने के लिए उसी (SQL उपयोगकर्ता) क्रेडेंशियल का उपयोग करने की आवश्यकता थी। मैंने पहली बार विंडोज ऑथेंटिकेशन अकाउंट का इस्तेमाल करके रिस्टोर की कोशिश की थी।


6

मेरे मामले में, यह अनुमति थी और तथ्य यह है कि मैंने "रीस्टोर डेटाबेस और फाइल्स ग्रुप्स ..." का इस्तेमाल किया था, बल्कि "रीस्टोर डेटाबेस ..."।

इससे फर्क पड़ा।

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


6

मेरे लिए यह एक उपयोगकर्ता विशेषाधिकार का मुद्दा है। मैंने सा यूजर और उसके वर्किंग फाइन के साथ लॉग-इन किया।


5

मेरे लिए समस्या यह थी .BAK फ़ाइल सर्वर पर एक एन्क्रिप्टेड फ़ोल्डर में स्थित थी। पूर्ण व्यवस्थापक अधिकारों के साथ भी, मुझे फ़ाइल पढ़ने के लिए SSMS कभी नहीं मिला। एक unencrypted फ़ोल्डर में .BAK ले जाने से मेरी समस्या हल हो गई। ध्यान दें कि फ़ाइल को स्थानांतरित करने के बाद आपको एन्क्रिप्शन को हटाने के लिए वास्तविक फ़ाइल पर गुणों को भी बदलना पड़ सकता है (राइट क्लिक, गुण, उन्नत, "डेटा को सुरक्षित करने के लिए एन्क्रिप्शन सामग्री" को अनचेक करें।


3

मेरे पास SQL ​​सर्वर 2014 के साथ एक ही समस्या थी (प्रबंधन स्टूडियो उस फ़ोल्डर को नहीं देख सकता था जिसमें बैकअप फ़ाइल फिर से शुरू हुई, जब इसे पुनर्स्थापित ऑपरेशन के लिए खोजने का प्रयास किया गया)। इस सूत्र ने उत्तर दिया कि मेरी समस्या हल हो गई। उद्धरण:

SQL सर्वर सेवा खाता Start-> नियंत्रण कक्ष-> प्रशासनिक उपकरण-> सेवाओं द्वारा पाया जा सकता है। SQL सर्वर सेवा पर डबल क्लिक करें-> लॉग ऑन टैब। आप या तो एक विशिष्ट खाते को परिभाषित करने के लिए "स्थानीय सिस्टम खाता" या "यह खाता" का उपयोग करेंगे। यदि आप स्थानीय सिस्टम खाते का उपयोग कर रहे हैं, तो आप उन बैकअप का संदर्भ नहीं दे पाएंगे जो सर्वर के लिए स्थानीय नहीं हैं। यदि, इसके बजाय, आपने खाते का उपयोग करने के लिए परिभाषित किया है, तो यह वह खाता है जिसे बैकअप फ़ाइल स्थान तक पहुंचने की आवश्यकता है। आपके व्यक्तिगत लॉगऑन का उपयोग करके बैकअप तक पहुंचने की आपकी क्षमता अप्रासंगिक है; यह SQL सर्वर खाता है जिसका उपयोग किया जाता है, भले ही आप बैकअप आरंभ कर रहे हों। आपके आईटी लोगों को यह निर्धारित करने में सक्षम होना चाहिए कि प्रत्येक खाते को क्या अधिकार दिए गए हैं।

आशा है कि किसी की मदद करता है।


सराहना करें कि आपने स्रोत को यहां लाइन में उद्धृत किया है, इस पृष्ठ से दूर नेविगेट किए बिना उस जानकारी का उपयोग करना बहुत आसान है।
qxotk

3

मेरे मामले में (नया sql सर्वर स्थापित, नव निर्मित उपयोगकर्ता) मेरे उपयोगकर्ता के पास बस आवश्यक अनुमति नहीं थी। मैंने प्रबंधन स्टूडियो में सा के रूप में लॉग इन किया , फिर सुरक्षा / लॉगिन पर गया, मेरे उपयोगकर्ता नाम, गुण पर राइट-क्लिक करें, फिर सर्वर रोल अनुभाग में मैंने जाँच की sysadmin


2

मेरे लिए, यह इसलिए था क्योंकि बैकअप फ़ाइल अभी भी एक अन्य प्रक्रिया द्वारा खुली थी। यहाँ घटना लॉग है:

BackupDiskFile :: OpenMedia: बैकअप डिवाइस 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' खोलने में विफल रहा। ऑपरेटिंग सिस्टम त्रुटि 32 (यह प्रक्रिया फ़ाइल तक नहीं पहुँच सकती क्योंकि यह किसी अन्य प्रक्रिया द्वारा उपयोग की जा रही है।)

बस Sql सर्वर प्रबंधन स्टूडियो को बंद करने और फिर से खोलने से इसे हल किया गया (इसलिए स्पष्ट रूप से यह ssms.exe था जिसके पास संभाल था ..)


1

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


1

यदि आप मौजूदा डेटाबेस को पूरी तरह से रिप्लाई विकल्प का उपयोग करना चाहते हैं :

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE

1

मेरे मामले में, यह एक अनुमति मुद्दा था।

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

विंडोज उपयोगकर्ता के लिए, मैं उपयोग कर रहा था dbcreatorभूमिका नहीं थी।

इसलिए मैंने नीचे दिए गए चरणों का पालन किया

  1. saSQL सर्वर से कनेक्ट करें
  2. Securityऑब्जेक्ट एक्सप्लोरर में विस्तार करें
  3. विस्तार Logins
  4. प्रश्न में विंडोज उपयोगकर्ता पर राइट क्लिक करें
  5. प्रॉपर्टीज पर क्लिक करें
  6. विकल्पों में Server Rolesसे चयन Select a pageकरें
  7. dbcreatorउपयोगकर्ता के लिए भूमिका की जाँच करें
  8. ओके पर क्लिक करें

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


0

SQL सर्वर 2012 एक्सप्रेस का उपयोग करना।

मेरी त्रुटि (SQL प्रबंधक से - डेटाबेस संवाद पुनर्स्थापित करें):

No backupset selected to be restored

आगे, चयन करने के लिए सूची में कोई बैकअप नहीं दिखाया गया था।

मुद्दा यह था कि मैंने 5 बैकअप फ़ाइलों में से 1 को एक फ़ोल्डर में स्थानांतरित किया था जहां SQL सर्वर सेवा लॉगऑन उपयोगकर्ता के पास अनुमति नहीं थी - मैंने उस उपयोगकर्ता को जोड़ने का प्रयास किया, लेकिन सुरक्षा में NT सेवा \ MSSQL $ SQLEXPRESS उपयोगकर्ता को नहीं मिला। सूची।

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

इस प्रश्न के उत्तर ने मुझे सही स्थानों पर देखने और समाधान के लिए अपना काम करने में मदद की।


0

मेरे लिए, यह एक अनुमति मुद्दा था। मैंने स्थानीय उपयोगकर्ता खाते का उपयोग करके और अपनी कंपनियों के डोमेन में शामिल होने से पहले SQL सर्वर स्थापित किया। बाद में, मैंने अपने डोमेन खाते का उपयोग करके एक डेटाबेस को पुनर्स्थापित करने का प्रयास किया जिसमें SQL सर्वर डेटाबेस को पुनर्स्थापित करने के लिए आवश्यक अनुमतियाँ नहीं हैं। आपको अपने डोमेन खाते के लिए अनुमति को ठीक करने और इसे आपके पास मौजूद SQL सर्वर इंस्टेंस पर सिस्टम व्यवस्थापक अनुमति देने की आवश्यकता है।


0

मुझे एक ही त्रुटि संदेश मिला, भले ही मैं बैकअप लेता हूं और एक ही मशीन पर पुनर्स्थापित करता हूं।

मुद्दा यहाँ से था: जब बैकअप, मैं गंतव्य बॉक्स में 2 आइटम था।

तो यह होगा: 'गंतव्य' बॉक्स में केवल 1 आइटम सुनिश्चित करें। अगर है तो बाकी सभी को हटा दें।


0

मैं एक ही मुद्दे में भाग गया। SSMS को व्यवस्थापक के रूप में चलाएँ, फिर राइट क्लिक करें और डेटाबेस को पुनर्स्थापित करें। कार्य करना चाहिए।


0

मुझे लगता है कि मुझे इस त्रुटि को प्राप्त करने के लिए सबसे अधिक हड्डी वाले कारण के लिए पुरस्कार मिला। पुनर्स्थापना डेटाबेस संवाद में, स्रोत के अंतर्गत डेटाबेस ड्रॉपडाउन ग्रे है और मुझे लगा कि यह अक्षम है। मैं यह सोचकर कि यह स्रोत था, डेस्टिनेशन के तहत डेटाबेस ड्रॉपडाउन में नीचे चला गया और एक चयन किया। ऐसा करने से यह त्रुटि संदेश प्रदर्शित होगा।

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