Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

जानिए बिना बैकअप के SQL Server 2012 में डिलीट हुई टेबल को कैसे रिकवर करें

सारांश:क्या आप जानना चाहते हैं कि बिना बैकअप के SQL Server 2012 में हटाई गई तालिका को कैसे पुनर्प्राप्त किया जाए। कुशल और त्वरित समाधानों का उपयोग करके हटाए गए डेटाबेस ऑब्जेक्ट को पुनर्प्राप्त करने के लिए इस लेख को पढ़ें।

कभी-कभी, क्लाइंट अद्यतन प्रदर्शन कर सकता है संचालन या हटाएं कहां . लागू किए बिना SQL सर्वर डेटाबेस में संचालन स्थिति। SQL सर्वर तालिकाओं से डेटा हानि का अनुभव करने के पीछे यह एक विशिष्ट व्याख्या है। चूंकि SQL सर्वर डेटाबेस कॉर्पोरेट डिवीजनों और संगठनों के बीच एक असाधारण मुख्यधारा का रिलेशनल DBMS है, इसलिए डेटा हानि की समस्या बहुत अधिक बढ़ जाती है। इसलिए, यदि कोई आपदा आती है, तो क्लाइंट को SQL सर्वर तालिका से हटाए गए डेटा को पुनर्प्राप्त करने की रणनीतियों के बारे में पता होना चाहिए।

हटाए गए पंक्तियों को एलएसएन का उपयोग करके पुनर्प्राप्त किया जा सकता है यदि विलोपन समय ज्ञात है। लॉग अनुक्रम संख्या (एलएसएन) का उपयोग करके यह संभव होना चाहिए। LSN एक विशेष पहचानकर्ता है जो SQL सर्वर लेनदेन लॉग में मौजूद प्रत्येक रिकॉर्ड को दिया जाता है। हम लेन-देन लॉग और एलएसएन की सहायता से हटाए गए SQL सर्वर डेटा और तालिकाओं को पुनर्प्राप्त करने की प्रक्रिया के बारे में बात करेंगे।

सुझाया गया: प्रोपेल्ड तृतीय-पक्ष टूल का उपयोग करके SQL तालिका से हटाए गए रिकॉर्ड को पुनर्प्राप्त करने के लिए लंबे और गलत मैनुअल LSN तरीके को चकमा देने के लिए, उदाहरण के लिए, SQL डेटाबेस पुनर्प्राप्ति उपकरण

बैकअप के बिना SQL Server 2012 में हटाए गए तालिका को पुनर्प्राप्त करने का तरीका जानने की प्रक्रिया

SQL तालिका से हटाए गए डेटा को पुनर्प्राप्त करने की प्रक्रिया शुरू करने से पहले संतुष्ट होने के लिए कुछ आवश्यकताएं हैं। SQL सर्वर डेटाबेस में तालिका से हटाई गई पंक्तियों को प्रभावी ढंग से पुनर्प्राप्त करने के लिए, इसमें मूल रूप से हटाए जाने पर बल्क-लॉग या पूर्ण पुनर्प्राप्ति मॉडल होना चाहिए। कुछ तेज गतिविधियों की आवश्यकता होती है ताकि डेटा की पुनर्प्राप्ति के लिए लॉग अभी तक सुलभ हों।

SQL सर्वर 2005, 2008, 2012, 2014 और 2016 से ट्रांजेक्शन लॉग के उपयोग से हटाए गए डेटा को पुनर्प्राप्त करने के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1

तालिका में मौजूद पंक्तियों की संख्या की जाँच करें जिनसे डेटा अनजाने में नीचे दिए गए प्रश्न का उपयोग करके हटा दिया गया है:

तालिका_नाम से *चुनें

चरण 2

नीचे दी गई क्वेरी का उपयोग करके डेटाबेस का ट्रांजेक्शन लॉग बैकअप लें:

डेटाबेस नाम का उपयोग करें

जाओ

बैकअप लॉग [डेटाबेसनाम]

टू डिस्क =N'D:\Databasename\RDDTrLog.trn'

नोफॉर्मेट के साथ, नोइनिट,

NAME =N'डेटाबेसनाम-लेनदेन लॉग बैकअप',

छोड़ें, नोरविंड, NOUNLOAD, STATS =10

जाओ

चरण 3

इसलिए SQL सर्वर तालिका से हटाए गए डेटा को पुनर्प्राप्त करने के लिए, हमें हटाई गई पंक्तियों के बारे में कुछ डेटा एकत्र करना होगा। इस कारण को पूरा करने के लिए नीचे दी गई क्वेरी को चलाएं

डेटाबेस नाम का उपयोग करें

जाओ

चुनें [वर्तमान एलएसएन], [लेन-देन आईडी], संचालन, प्रसंग, AllocUnitName

से

fn_dblog(NULL, NULL)

जहां ऑपरेशन ='LOP_DELETE_ROWS'

ऊपर दी गई क्वेरी से, हमें हटाई गई पंक्तियों की लेनदेन आईडी (मान लें 000:000001f3) प्राप्त होगी। वर्तमान में, जब इन पंक्तियों को हटाया गया था, तो इस आईडी का उपयोग करने का समाधान किया जाना है।

चरण 4

इस प्रगति में, हम लेन-देन आईडी 000:000001f3 का उपयोग करके उस विशेष समय का पता लगाएंगे जिस पर पंक्तियों को हटा दिया गया था। यह निम्नानुसार दी गई जांच को निष्पादित करके समाप्त किया गया है:

डेटाबेस नाम का उपयोग करें

जाओ

चुनें

[वर्तमान एलएसएन], संचालन, [लेनदेन आईडी], [प्रारंभ समय], [लेनदेन का नाम], [लेनदेन एसआईडी]

से

fn_dblog(NULL, NULL)

कहां

[लेन-देन आईडी] ='000:000001f3'

और

[ऑपरेशन] ='LOP_BEGIN_XACT'

इस पूछताछ को निष्पादित करने पर हमें वर्तमान लॉग अनुक्रम संख्या (एलएसएन) का अनुमान मिलेगा (मान लीजिए 00000020:000001d0:0001)।

चरण 5

वर्तमान में हम खोई हुई SQL सर्वर तालिका पंक्तियों से हटाए गए डेटा को पुनर्प्राप्त करने के लिए पुनर्स्थापना प्रक्रिया शुरू करेंगे। यह नीचे दी गई क्वेरी का उपयोग करके समाप्त किया गया है:

डेटाबेस नाम का उपयोग करें

जाओ

DATABASE Databasename_COPY से पुनर्स्थापित करें

प्लेट ='D:\Databasename\RDDFull.bak'

साथ

'डेटाबेसनाम' को 'डी:\RecoverDB\Databasename.mdf' पर ले जाएं,

'Databasename_log' को 'D:\RecoverDB\Databasename_log.ldf' पर ले जाएं,

बदलें, नोरेकवरी;

जाओ

  चरण 6

वर्तमान में LSN 00000020:000001d0:0001 का उपयोग करके हटाई गई पंक्तियों को पुनर्स्थापित करने के लिए लेनदेन लॉग लागू करें:

डेटाबेस नाम का उपयोग करें

जाओ

डिस्क से लॉग डेटाबेसनाम_कॉपी को पुनर्स्थापित करें =N'D:\Databasename\RDOTrLog.trn' STOPBEFOREMARK के साथ ='lsn:0x00000020:000001d0:0001' नोट:चूंकि LSN मान हेक्साडेसिमल संरचना में हैं और इसका उपयोग करने वाली तालिकाओं को पुनर्स्थापित करने के लिए एलएसएन, हमें इसे दशमलव संरचना में बदलना होगा। इस कारण से, हम एलएसएन से बहुत पहले 0x शामिल करते हैं जैसा कि पहले दिखाया गया था।

चरण 7

SQL तालिका से हटाए गए रिकॉर्ड को पुनर्प्राप्त करने की प्रक्रिया प्रभावी ढंग से समाप्त हो जाएगी। वर्तमान में जांचें कि क्या हटाए गए रिकॉर्ड Databasename_Copy नामक डेटाबेस में वापस आ गए हैं।

डेटाबेसनाम का उपयोग करें_कॉपी करें GO Table_name से * चुनें

  लेन-देन लॉग दृष्टिकोण की सीमाएं

  • SQL सर्वर तालिका से हटाए गए डेटा को पुनर्प्राप्त करने के लिए बेहद कठिन रणनीति, क्योंकि इसमें निष्पादित की जाने वाली कुछ व्यापक क्वेरी शामिल हैं।
  • पर्याप्त विशिष्ट डेटा नहीं होने वाले ग्राहकों के लिए वास्तविक रूप से आश्चर्यजनक रूप से दिमागी दबदबा।
  • आवेदन और प्रश्नों के निष्पादन के दौरान गलतियों के कारण डेटा खोने की अधिक प्रमुख संभावनाएं।

जानने के लिए वैकल्पिक समाधान बैकअप के बिना SQL Server 2012 में हटाए गए तालिका को कैसे पुनर्प्राप्त करें

SQL सर्वर 2019/2017/2016/2014/2012/2008/2005 से पंक्तियों को पुनर्प्राप्त करने के लिए सबसे अच्छा वैकल्पिक समाधान सुलभ है। हम यहां जिस वैकल्पिक समाधान के बारे में बात कर रहे हैं, वह SQL सर्वर में उभरने वाली हर एक तरह की समस्या को हल कर सकता है। यह SQL त्रुटियों को ठीक कर सकता है और SQL MDF और NDF फ़ाइलों को ठीक कर सकता है। फ्रीव्यूअर SQL रिकवरी टूल एक व्यावसायिक उपकरण है जो ट्रिगर, नियम, कार्य, तालिकाओं को पुनर्प्राप्त करने की अनुमति देता है। इसके अलावा, यह अतिरिक्त रूप से बिना डेटा हानि के SQL सर्वर में संग्रहीत कार्यविधियों को प्रभावी ढंग से पुनर्स्थापित करता है। महत्वपूर्ण हिस्सा यह है कि दूषित SQL सर्वर डेटाबेस फ़ाइलों को ठीक करते समय एप्लिकेशन कई प्रेरित विकल्प देता है। इसके अतिरिक्त, यह एप्लिकेशन हटाए गए SQL तालिका रिकॉर्ड को लाल रंग में दिखाता है। यह उत्पाद Microsoft Outlook 2019 और इसके सभी नीचे के संस्करणों के साथ अच्छा है।

एप्लिकेशन की सर्वोत्तम संभव क्षमता को समझने के लिए निःशुल्क डेमो रिलीज़ डाउनलोड करें।

हटाए गए डेटाबेस ऑब्जेक्ट को आसानी से पुनर्प्राप्त करने के चरण

  1. डाउनलोड करें और  SQL पुनर्प्राप्ति को भेजें टूल, और MDF फ़ाइल खोलें।
  2. उन्नत स्कैन विकल्प चुनें, पता लगाएं SQL सर्वर संस्करण SQL सर्वर में हटाए गए रिकॉर्ड को पुनर्प्राप्त करने के लिए।
  3. टूल स्कैनिंग शुरू करेगा प्राथमिक डेटाबेस फ़ाइल (MDF) की प्रक्रिया
  4. SQL डेटाबेस घटक देखें, टूल हटाए गए SQL तालिका रिकॉर्ड को लाल रंग में दिखाता है। उसके बाद निर्यात करें . पर क्लिक करें
  5. अगले खंड में आपको डेटाबेस प्रमाणीकरण विवरण देना होगा।
  6. नया डेटाबेस बनाएं’ चेक करें विकल्प दें और एक डेटाबेस नाम दें।
  7. डेटाबेस को बेहतर बनाएं ‘स्कीमा और डेटा के साथ’ SQL सर्वर में हटाई गई पंक्तियों में डेटा पुनर्प्राप्त करने के लिए। (हटाए गए रिकॉर्ड निर्यात करें चेकबॉक्स भी चेक करें)
  8. वर्तमान में रिपोर्ट सहेजें और हाल ही में बनाए गए डेटाबेस को खोलें जिसमें पुनर्प्राप्त रिकॉर्ड शामिल हैं।

निष्कर्ष

यह भी पढ़ें:Microsoft SQL Server डिजास्टर रिकवरी सर्वोत्तम प्रथाओं को जानने के लिए उपयोगकर्ता इसी तरह की एक और पोस्ट भी पढ़ सकता है।

हालाँकि LSN रणनीति SQL तालिकाओं से हटाए गए रिकॉर्ड को पुनर्स्थापित कर सकती है, लेकिन इसकी बहुमुखी प्रकृति और दोहराव के कारण यह ग्राहकों के लिए एक निर्धारित विकल्प के अलावा कुछ भी है। इसके बजाय, बैकअप के बिना SQL सर्वर 2012 में हटाए गए तालिका को पुनर्प्राप्त करने का तरीका जानने के लिए एक स्वचालित समाधान का उपयोग करने के लिए प्रोत्साहित किया जाता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर के लिए Intel Optane संग्रहण का उपयोग करना

  2. SQL सर्वर में PRINT स्टेटमेंट का अवलोकन

  3. ऑपरेशन के बराबर में SQL_Latin1_General_CP1_CI_AS और लैटिन1_General_CI_AS के बीच टकराव को हल नहीं कर सकता

  4. यह पता लगाने के 3 तरीके कि क्या कोई कॉलम SQL सर्वर में एक कंप्यूटेड कॉलम है

  5. SQL सर्वर में CONVERT () के साथ उपलब्ध दिनांक स्वरूपों की सूची