SQL सर्वर में डेटाबेस के लिए .bak फ़ाइल आयात करें


230

मेरे पास .bakएक्सटेंशन वाली फाइल है।

मैं SQL सर्वर में डेटाबेस के लिए इस तिथि को कैसे आयात कर सकता हूं?


मैं मान रहा हूँ कि आप MSSQL का उपयोग कर रहे हैं, यहाँ एक धागा है जो कुछ तरीकों की व्याख्या कर सकता है जिन्हें आप पुनर्स्थापित कर सकते हैं।
एंड्रयू कीथ

आप एक खाली डेटाबेस बना सकते हैं, और अपने डेटा .bak
Michel Ayres

सबसे आसान तरीका है 3 जवाब, राइट-क्लिक डेटाबेस, आयात, डिवाइस, चुनें .bak फ़ाइल, समाप्त।
माफिया

क्या कोई स्वचालन अनुकूल समाधान के लिए उत्तर का विस्तार कर सकता है? यूआई के माध्यम से जाना और कई क्लिक करना बहुत कुशल नहीं है।
एल। होलांडा

जवाबों:


251

पर एसक्यूएल सर्वर प्रबंधन स्टूडियो

  1. बाएँ फलक पर दाएँ डेटाबेस पर क्लिक करें (ऑब्जेक्ट एक्सप्लोरर)
  2. पुनर्स्थापना डेटाबेस पर क्लिक करें ...
  3. डिवाइस चुनें , क्लिक करें ..., और अपनी .bak फ़ाइल जोड़ें
  4. क्लिक करें ठीक है, तो ठीक है फिर से

किया हुआ।


4
यह एक आकर्षण की तरह काम करता है। ये उत्कृष्ट सरलीकृत निर्देश हैं, और वे अनिवार्य रूप से आधिकारिक Microsoft लिंक से वही निर्देश हैं जो यहां दिए गए सबसे अधिक जवाब दिए गए हैं।
लियोनार्डो लोपेज

3
यदि यह विफल रहता है, तो आपको संभवतः एक मौजूदा डेटाबेस को मिटाने की आवश्यकता है।
DigitalDesignDj

3
यह मेरे लिए काम नहीं कर रहा है। मैं सही फ़ोल्डर को इंगित करता हूं और यह फाइलों को भी नहीं देखता है। मैं संवाद पर सटीक फ़ाइल नाम पेस्ट करता हूं, और यह कहता है कि फ़ाइल मौजूद नहीं है। इसके अलावा, संवाद एक ड्राइव को देखता है जो मेरे सर्वर पर मौजूद नहीं है। क्या डेटाबेस अंतिम बैकअप का स्थान याद रखता है और क्या यह केवल उस बिंदु से पुनर्स्थापना स्वीकार करेगा? मुझे यह बहुत अजीब लगता है कि मैं पुनर्स्थापित करने के लिए बैकअप फ़ाइल का चयन नहीं कर सकता।
जेम्स

13
मेरी .BAK फ़ाइल "डाउनलोड" निर्देशिका में थी जो मेरे उपयोगकर्ता खाते के नीचे मौजूद थी। मुझे इस उपकरण को देखने और मुझे इससे पुनर्स्थापित करने की अनुमति देने के लिए .BAK फ़ाइल को C: के मूल में ले जाना था। मेरे उपयोगकर्ता के नीचे की फाइलें किसी कारण से देखी नहीं गईं।
jeremysawesome

6
यह काम नहीं करता। मैं "डेटाबेस" पर राइट-क्लिक करता हूं, लेकिन "पुनर्स्थापना डेटाबेस ..." नहीं है।
user34660

53

.bak फाइलें डेटाबेस बैकअप हैं। आप नीचे दिए गए विधि से बैकअप को पुनर्स्थापित कर सकते हैं:

कैसे करें: एक डेटाबेस बैकअप (SQL सर्वर प्रबंधन स्टूडियो) को पुनर्स्थापित करें


8
यह काम नहीं करता। आलेख कहता है: "... 2) डेटाबेस का विस्तार करें। डेटाबेस के आधार पर, या तो उपयोगकर्ता डेटाबेस का चयन करें या सिस्टम डेटाबेस का विस्तार करें, और फिर सिस्टम डेटाबेस का चयन करें। 3) डेटाबेस पर राइट-क्लिक करें , कार्य को इंगित करें, और फिर क्लिक करें। पुनर्स्थापित करें। " नहीं! आप उस डेटाबेस को राइट क्लिक नहीं कर सकते जो मौजूद नहीं है! आप, दिए गए डेटाबेस को पुनर्स्थापित या आयात करने की कोशिश कर रहे हैं। आप उस डेटाबेस पर राइट क्लिक कैसे कर सकते हैं जो लोड नहीं है? MSDN की विचित्रता, और SSMS में कार्यक्षमता को बहाल करने वाले एग्रेसिविंग को कहा गया है लेकिन यह काम नहीं करता है। क्यों? सौभाग्य से, SQL कमांड दूसरों को यहाँ काम देती है।
निकोलस पीटर्सन

14
यहाँ पाए गए एक नए डेटाबेस को पुनर्स्थापित करने के लिए एक अलग लेख है: msdn.microsoft.com/en-us/library/ms186390(v=sql.90).aspx
जॉन स्कोनिंग

35
RESTORE FILELISTONLY 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

RESTORE DATABASE YourDB
FROM DISK = 'D:\3.0 Databases\DB.bak' 

और आपको उपयुक्त mdf, ndf और ldf फ़ाइलों का उपयोग करना होगा

 With Move 'primarydatafilename' To 'D:\DB\data.mdf', 
 Move 'secondarydatafile'To 'D:\DB\data1.ndf', 
 Move 'logfilename' To 'D:\DB\log.ldf'

1
यह मेरे लिए बहुत मददगार था क्योंकि मैं एक एसक्यूएल डेटा स्टूडियो का उपयोग करके एक macOS होस्ट के साथ एक sql डॉक कंटेनर पर एक .bak फ़ाइल को पुनर्स्थापित करना चाहता था। मुझे बस इतना करना था। कंटेनर में .bak को कॉपी करें, पथ को समायोजित करें और / को बदलें, और मैं सफलतापूर्वक पुनर्स्थापित करने में सक्षम था।
andbb

खुशी है कि उसने @andrewb :)
RameshVel

30

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

अस्वीकरण: मैं एपेक्सक्यूएल में उत्पाद समर्थन इंजीनियर के रूप में काम करता हूं


18

रिस्टोर डेटाबेस चुनने के बजाय ..., रिस्टोर फाइल्स एंड फाइलग्रुप्स चुनें ...

फिर एक डेटाबेस नाम दर्ज करें, स्रोत के रूप में अपने .bak फ़ाइल पथ का चयन करें, चेकबॉक्स को पुनर्स्थापित करें, और ठीक क्लिक करें। यदि .bak फ़ाइल मान्य है, तो यह काम करेगा।

(SQL सर्वर पुनर्स्थापना विकल्प नाम बहुत ही सरल कार्य के लिए सहज नहीं हैं।)


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

अपने नए डेटाबेस को देखने के लिए अंत में रिफ्रेश अवश्य करें। यह उठने और भागने का सबसे तेज समाधान हो सकता है।
डेमोन्गोलम

यह वह विकल्प है जो मेरे लिए उसी डेटाबेस को आयात करने के लिए काम करता है। स्थानीय स्तर पर एक नए डेटाबेस के रूप में .bak
Gurnzbot

7
  1. उस सर्वर से कनेक्ट करें जिसे आप अपना DB स्टोर करना चाहते हैं
  2. डेटाबेस पर राइट-क्लिक करें
  3. पुनर्स्थापना पर क्लिक करें
  4. स्रोत अनुभाग के तहत डिवाइस रेडियो बटन चुनें
  5. जोड़ें पर क्लिक करें।
  6. उस पथ पर नेविगेट करें जहां आपकी .bak फ़ाइल संग्रहीत है, इसे चुनें और ठीक पर क्लिक करें
  7. अपने DB का गंतव्य दर्ज करें
  8. वह नाम दर्ज करें जिसके द्वारा आप अपना DB स्टोर करना चाहते हैं
  9. ओके पर क्लिक करें

किया हुआ


4

बस उपयोग करें

sp_restoredb 'आपका डेटाबेस का नाम', 'स्थान जिससे आप पुनर्स्थापित करना चाहते हैं'

उदाहरण: sp_restoredb 'omDB', 'D: \ abc.bak'


msdn.microsoft.com/en-us/library/ms178099(v=sql.105).aspxRESTORE DATABASE में और इसके बीच क्या अंतर है ?
अनहमर

1
पुनर्स्थापना डेटाबेस पुनर्स्थापना कार्रवाई केवल तब करें जब आपके DB की संरचना बैकअप फ़ाइल के समान हो, लेकिन sp_restoredbअपने डेटाबेस को अलग संरचना या पूरी तरह से खाली (नया) होने पर भी पुनर्स्थापित करें।
ओमप्रकाश तोमर

3
  1. अपने पीसी के निम्नलिखित स्थान पर अपने बैकअप .bak फ़ाइल की प्रतिलिपि बनाएँ: C: \ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA
  2. उस सर्वर से कनेक्ट करें जिसे आप अपना DB स्टोर करना चाहते हैं
  3. डेटाबेस पर राइट-क्लिक करें
  4. पुनर्स्थापना पर क्लिक करें
  5. स्रोत अनुभाग के तहत डिवाइस रेडियो बटन चुनें
  6. जोड़ें पर क्लिक करें।
  7. उस पथ पर नेविगेट करें जहां आपकी .bak फ़ाइल संग्रहीत है, इसे चुनें और ठीक पर क्लिक करें
  8. अपने DB का गंतव्य दर्ज करें
  9. वह नाम दर्ज करें जिसके द्वारा आप अपना DB स्टोर करना चाहते हैं
  10. ओके पर क्लिक करें

उपरोक्त समाधान आपकी बैकअप (.bak) फ़ाइल को रखने के लिए याद किया गया है। यह काम कर जाना चाहिए। इसने मेरे लिए काम किया।


1

आप नोड पैकेज का उपयोग कर सकते हैं, यदि आपको अक्सर विकास प्रक्रिया में डेटाबेस को पुनर्स्थापित करने की आवश्यकता होती है।

इंस्टॉल:

npm install -g sql-bak-restore

उपयोग:

sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>

तर्क:

  • फ़ाइल करने के लिए bakpath, रिश्तेदार या निरपेक्ष पथ
  • dbName, किस डेटाबेस को पुनर्स्थापित करना है (!! इस नाम वाला डेटाबेस मौजूद होने पर हटा दिया जाएगा! !!)
  • पुराना नाम, डेटाबेस का नाम (यदि आप नहीं जानते हैं, तो कुछ निर्दिष्ट करें और चलाएँ, आपको चलाने के बाद उपलब्ध डेटाबेस दिखाई देगा।)
  • स्वामी, उपयोगकर्ता नाम बनाने और उसे db_owner विशेषाधिकार देने के लिए (पासवर्ड "1")

!! sqlcmd कमांड लाइन उपयोगिता आपके पैट वैरिएबल में होनी चाहिए।

https://github.com/vladimirbuskin/sql-bak-restore/


1

Microsoft SQL सर्वर प्रबंधन स्टूडियो 2019 पर:

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

डेटाबेस विंडो को पुनर्स्थापित करें:

  1. डिवाइस चुनें

  2. जोड़ें और लक्ष्य फ़ाइल चुनें

  3. पुष्टि करने के लिए ठीक है

  4. पुनर्स्थापना की पुष्टि करने के लिए ठीक है

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

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