मैंने गलती से दूरस्थ SQL Server 2008 तालिका से लगभग 2,000,000 रिकॉर्ड हटा दिए हैं। सर्वर मुझे बैकअप फ़ाइलों को सर्वर साइड पर एक्सेस देने के लिए नहीं दे रहा है।
क्या इन रिकॉर्ड्स को वापस पाने का कोई तरीका है?
मैंने गलती से दूरस्थ SQL Server 2008 तालिका से लगभग 2,000,000 रिकॉर्ड हटा दिए हैं। सर्वर मुझे बैकअप फ़ाइलों को सर्वर साइड पर एक्सेस देने के लिए नहीं दे रहा है।
क्या इन रिकॉर्ड्स को वापस पाने का कोई तरीका है?
जवाबों:
क्या आपका डेटाबेस पूर्ण पुनर्प्राप्ति मोड में है?
यदि हाँ, तो क्या आप लेन-देन लॉग बैकअप कर रहे हैं?
यदि नहीं (पूर्ण पुनर्प्राप्ति मोड में नहीं), अंतिम पूर्ण बैकअप को एक अलग नाम के साथ डेटाबेस के रूप में पुनर्स्थापित करें। (आपके द्वारा पहले से प्राप्त डेटाबेस को अधिलेखित न करें।) वहां से, आप बैकअप के समय जो भी रिकॉर्ड ऑनलाइन थे, उसे पुनर्स्थापित करने में सक्षम होंगे, लेकिन आप सभी परिवर्तनों को खो देंगे।
SQL सर्वर प्रत्येक हटाए गए रिकॉर्ड के लिए लॉग रखता है। आप fn_dblog
SQL सर्वर फ़ंक्शन के माध्यम से इन लॉग को क्वेरी कर सकते हैं ।
SELECT [RowLog Contents 0]
FROM sys.fn_dblog(NULL, NULL)
WHERE
AllocUnitName = 'dbo.TableName'
AND Context IN ( 'LCX_MARK_AS_GHOST', 'LCX_HEAP' )
AND Operation in ( 'LOP_DELETE_ROWS' )
;
लेकिन यह लॉग हेक्स प्रारूप में है और आपको इस हेक्स प्रारूप को अपने वास्तविक डेटा में बदलने की आवश्यकता है।
नीचे दिया गया लेख आपको ऊपर बताए गए तरीके से हटाए गए रिकॉर्ड को पुनर्प्राप्त करने में मदद करेगा:
http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/
@user1059637
- आपके कोड में कार्यक्षमता जोड़ने वाले लोगों के लिए आपका दृष्टिकोण क्या है?
दुर्भाग्य से, हम बहुत अधिक जानकारी के बिना आपकी मदद करने में सक्षम नहीं होंगे। लेकिन आपके प्रश्न से, मैं देख रहा हूं कि आपने जो डिलीट किया है, वह आपके डेटाबेस से 2 मिलियन रिकॉर्ड प्रतीत होता है। सबसे अधिक संभावना है कि आप इस जानकारी को पुनर्प्राप्त नहीं कर सकते, जब तक कि आपके डेटाबेस पर पूर्ण लॉगिंग न हो और आप कुछ बहुत विशिष्ट उपकरण खरीद लें।
यदि आप अधिक विस्तार से वर्णन कर सकते हैं कि यह वही है जो आप सोचते हैं कि आपने किया है, और आपको लगता है कि आप रिकॉर्ड वापस नहीं पा सकते हैं, और अपने डेटाबेस के संगठन का वर्णन कर सकते हैं, तो हम आपकी थोड़ी और मदद कर सकते हैं।
कुछ सामान्य सलाह: यदि आपको लगता है कि आपने 2 मिलियन रिकॉर्ड डिलीट कर दिए हैं, तो आप शायद अभी थोड़ा निराश हैं। इसलिए आपको पांच मिनट का ब्रेक लेना चाहिए, शांत होना चाहिए और समस्या को फिर से देखना चाहिए। इसके अलावा, आपको अपने बॉस को तुरंत बता देना चाहिए अगर यह उचित है (किसी को उन्हें बताने के लिए 2 बजे तक नहीं जगाएं) और यह कि आप एक समाधान पर काम कर रहे हैं। बेहतर यह है कि जो कुछ हुआ है, उसे ठीक करने और संभावित रूप से मामलों को बदतर बनाने और विवरण छिपाने की कोशिश करने से बेहतर है। यह जानकर कि आपका बॉस किसी तरह से मदद कर सकता है, आपको समस्या को ठीक करने में मदद करता है। जैसा मैंने कहा, बस कुछ सामान्य सलाह।