SSMS
 sql >> डेटाबेस >  >> Database Tools >> SSMS

SQL सर्वर:एक अलग/क्षतिग्रस्त डेटाबेस को कैसे संलग्न/मरम्मत करें?

आप एक उपाय आजमा सकते हैं। संक्षेप में:

  1. एक ही नाम के साथ एक डमी डीबी बनाएं (पहले वास्तविक डीबी को हटाने की आवश्यकता हो सकती है, मूल फाइलों को सहेजना होगा या फिर नाम बदलना होगा)।
  2. डमी ऑफ लाइन लें (अलग करें और (ऑफ़लाइन सेट करें या SQL सेवा बंद करें))।
  3. डमी फाइलें हटाएं, फिर वास्तविक डीबी फाइलों से बदलें।
  4. डीबी को फिर से जोड़ने का प्रयास करें

संपादित करें

जैसा कि ओपी टिप्पणी नोट के अनुसार आपको लॉग को फिर से बनाने की आवश्यकता हो सकती है (यदि आपने लेनदेन खो दिया है)

  1. डेटाबेस बदलें [MyDatabase] लॉग ऑन करें (NAME='MyDatabaseLog',FILENAME='D:\Microsoft SQL Server\YourDataPath\Data\Logfile.ldf')

    और डीबी को एकाधिक उपयोगकर्ता लॉग में डाल दें (डीबी को बंद करने से आपको इसे एकल उपयोग मोड में रखना पड़ सकता है)

  2. वैकल्पिक डेटाबेस [nomdb] MULTI_USER सेट करें

सभी गोर विवरणों के लिए आप पॉल रैंडल लेख

(इस लेख में ध्यान दें कि लेखक लेन-देन लॉग को ठीक करने के लिए (प्रयास) करने के लिए आपातकालीन मोड का उपयोग करता है)

मैंने पहले ही इसका सफलतापूर्वक उपयोग कर लिया है लेकिन क्षति की सीमा या अन्य विवरणों के आधार पर यह एक असंभव कार्य हो सकता है। बैकअप बहाल करने पर विचार करें।

ध्यान दें कि विकास सर्वर में यह स्टंट ठीक हैं लेकिन आपको वास्तव में एक प्रोडक्शन सर्वर में आपदा वसूली के लिए योजना (और ड्रिल) करने की आवश्यकता है।




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. मैं SSMS के भीतर से .SQL फ़ाइलों के एक सेट को कैसे निष्पादित कर सकता हूँ?

  2. SSMS 2008 में शीर्ष 200 पंक्तियों को संपादित करने में SQL को कैसे बदलें?

  3. SQL प्रबंधन स्टूडियो में हटाने/अपडेट करने से पहले पुष्टि करें?

  4. क्या 'OPTIMIZE_FOR_SEQUENTIAL_KEY' को हटाने से मेरी script.sql की विफलता का समाधान हो जाएगा या अधिक शामिल है (SQL सर्वर एक्सप्रेस DB -> SQL सर्वर)?

  5. SQL प्रबंधन स्टूडियो के लिए Windows फ़ायरवॉल नियम