আমি ভুল করে একটি দূরবর্তী এসকিউএল সার্ভার ২০০৮ সারণী থেকে প্রায় ২,০০,০০০ রেকর্ড মুছে ফেলেছি। সার্ভারটি আমাকে সার্ভারের পাশের ব্যাকআপ ফাইলগুলিতে অ্যাক্সেস দিচ্ছে না।
এই রেকর্ডগুলি ফিরে পাওয়ার কোনও উপায় আছে কি?
আমি ভুল করে একটি দূরবর্তী এসকিউএল সার্ভার ২০০৮ সারণী থেকে প্রায় ২,০০,০০০ রেকর্ড মুছে ফেলেছি। সার্ভারটি আমাকে সার্ভারের পাশের ব্যাকআপ ফাইলগুলিতে অ্যাক্সেস দিচ্ছে না।
এই রেকর্ডগুলি ফিরে পাওয়ার কোনও উপায় আছে কি?
উত্তর:
আপনার ডাটাবেস পূর্ণ পুনরুদ্ধার মোডে আছে?
যদি হ্যাঁ, আপনি লেনদেন লগ ব্যাকআপ করছেন?
যদি না (সম্পূর্ণ পুনরুদ্ধার মোডে নয়), একটি সম্পূর্ণ নামের সাথে একটি সম্পূর্ণ ডাটাবেস হিসাবে শেষ পূর্ণ ব্যাকআপ পুনরুদ্ধার করুন। (আপনার কাছে ইতিমধ্যে পাওয়া ডাটাবেসটি ওভাররাইট করবেন না)) সেখান থেকে আপনি ব্যাকআপ নেওয়ার সময় অনলাইনে যা যা রেকর্ড ছিল তা পুনরুদ্ধার করতে সক্ষম হবেন, তবে আপনি সমস্ত পরিবর্তন হারাবেন।
এসকিউএল সার্ভার প্রতিটি মুছে ফেলা রেকর্ডের জন্য লগ রাখে। আপনি fn_dblog
এসকিউএল সার্ভার ফাংশনের মাধ্যমে এই লগগুলি জিজ্ঞাসা করতে পারেন ।
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 টা নাগাদ কাউকে জাগ্রত করবেন না) এবং আপনি কোনও সমাধানে কাজ করছেন। যা ঘটেছে তা স্বীকার করার চেয়ে ভালভাবে পুনরুদ্ধার করার চেষ্টা করা এবং সম্ভাব্যতরভাবে পরিস্থিতি আরও খারাপ করা এবং বিশদটি গোপন করা। আপনার বস কোনওভাবে সহায়তা করতে পারে তা জেনেও সমস্যাটি সমাধান করতে সহায়তা করে fix যেমন আমি বলেছি, কিছু সাধারণ পরামর্শ।