কেন পুনরুদ্ধার অবস্থায় ডাটাবেস আটকে আছে তার মূল কারণ চিহ্নিত করুন


10

আমি জানি যে এমন প্রশ্ন রয়েছে যা একটি ডাটাবেসকে RESTORINGরাজ্যে আটকে থাকার সমাধান করে এবং ম্যানুয়ালি ডাটাবেসটিকে অনলাইনে ফিরিয়ে আনতে সেই সমাধানগুলি ব্যবহার করে, তবে আমার পরিস্থিতি কিছুটা আলাদা।

আমার কাছে পাওয়ারশেল স্ক্রিপ্টগুলি ব্যবহার করে একটি স্বয়ংক্রিয় পুনরুদ্ধার রয়েছে যা কোনও ডিইও উদাহরণে উত্পাদনের অনুলিপি পুনরুদ্ধার করে। স্ক্রিপ্টগুলি প্রায় এক বছরের জন্য অপরিবর্তিত থাকে এবং মাঝেমধ্যে পুনরুদ্ধার প্রক্রিয়া শেষ হয় তবে পুনরুদ্ধার করা ডাটাবেসটি আটকে থাকে RESTORING(কখনও কখনও স্ক্রিপ্টটি ঠিকঠাকভাবে কাজ করে, কখনও কখনও এটি এভাবে ব্যর্থ হয়)।

প্রতিবার যদি আমি ম্যানুয়ালি প্রক্রিয়াটি পুনরায় চালিত করি তবে এটি যদি এসএসএমএসের ইউজার ইন্টারফেস বা টি-এসকিউএল এর মাধ্যমে আমি ম্যানুয়ালি ডাটাবেসটি পুনরুদ্ধার করি তবে এটি কোনও সমস্যা ছাড়াই সম্পূর্ণ হয়।

আমি উত্তরগুলি পেয়েছি যা CHECKDBপুনরুদ্ধার করা ডিবিতে চালিত হওয়ার সুপারিশ করেছিল তবে এই সমস্যার কারণ হিসাবে কিছুই প্রকাশিত হয়নি।

যেহেতু পুনরুদ্ধার স্ক্রিপ্টগুলি ডাটাবেসের সম্পূর্ণ ব্যাকআপ পুনরুদ্ধার করে এবং একটি "WITH RECOVERY"বিকল্প ব্যবহার করে আমি কীভাবে পুনরুদ্ধার প্রক্রিয়াটি থামিয়ে দিতে পারে তা অনুসন্ধান করার চেষ্টা করছি, যদিও আমি আসলে এটি ব্যবহার করে পুনরুদ্ধার করছি "WITH RECOVERY"

যে কোনও পরামর্শ আসলেই প্রশংসা করা হয় যেহেতু সময়ে সময়ে কেন এটি হচ্ছে তা বোঝার চেষ্টা করতে আমি আটকে গিয়েছি।

আমি লক্ষণগুলি দিয়ে চিকিত্সার চেয়ে সমস্যার মূল কারণটি সমাধান করতে চাই, যা আবার ডিবিটিকে ম্যানুয়ালি পুনঃস্থাপন করা।

হালনাগাদ:

@ ব্রেন্ট হিসাবে গিথুব গিস্ট প্রস্তাবিত - এখানে


1
আপনি এসকিউএল সার্ভার লগ এবং ইভেন্ট দর্শকের কাছ থেকে উত্তর পেতে পারেন, আপনি চেক করেছেন?? কোনওভাবে কি জায়গার সমস্যা ঘটছে কারণ এটি পুনরুদ্ধার রাষ্ট্রটি আটকে যেতে পারে। আপনি পুনরুদ্ধার করার আগে ব্যাকআপ সততা যাচাই করেন? আপনার স্টোরেজ সাবসিস্টেমটি কেমন
শানকি 14

@ শ্যাঙ্কি আমার এগুলি একবার দেখুন, যদিও আমার সেই তথ্যটিতে সরাসরি অ্যাক্সেস নেই (আমার সান প্রশাসকের সাথে আমার পরিচিত হওয়া প্রয়োজন)। ব্যাকআপ গ্রহণ করার সময় এবং ডিস্কে লেখার সময় ব্যাকআপ অখণ্ডতা উভয়ই চেক করে সেট করা থাকে।
রাদু ঘিওরঘিউ

1
এসকিউএল সার্ভার ত্রুটিমালা কী বলে? চলমান চেষ্টা করুন EXEC sys.xp_readerrorlog 0,1;- পুনরুদ্ধার অপারেশন সময় বার্তা জন্য সন্ধান করুন ।
ম্যাক্স ভার্নন

@MaxVernon সময় থেকে ত্রুটি লগ ঘটেছে পুনরুদ্ধার । আমি ত্রুটির বার্তাটি যাচাই করেছি এবং মনে হয় ডিস্কের জায়গাটি যাচাই করে নেওয়ার প্রস্তাব দেওয়া হচ্ছে। আমি আরও গভীর খনন করব এবং আমি কী দেখতে পাবো তা দেখতে পাব তবে তাত্ক্ষণিকভাবে এগুলি অনেকটা প্রসারিত হতে পারে এবং আমাকে প্রচুর জিনিস দেখতে চাইবে
রাদু ঘিওরঘিউ

উত্তর:


8

ওকামের রেজারটি সুস্পষ্ট দিয়ে শুরু করার পরামর্শ দেয়:

যদি আপনার স্ক্রিপ্ট কখনও কখনও পুনরুদ্ধার অবস্থায় ডেটাবেস ছেড়ে যায়, তবে স্ক্রিপ্টটি ডিবাগ করুন।

আপনি কোনও টেবিল বা একটি ফাইলে যা করছেন তা লগ করে শুরু করুন। তারপরে, যখন আপনি পুনরুদ্ধার অবস্থায় ডাটাবেসটি শেষ করবেন, তখন কী ভুল হয়েছে তা দেখার জন্য আপনার লগগুলিতে ফিরে যান। (আপনি যদি সম্প্রদায়ের কাছ থেকে দ্বিতীয় চোখ চান, তবে আপনার স্ক্রিপ্টটি গিথুব গিস্ট হিসাবে আপলোড করার চেষ্টা করুন, তবে মনে রাখবেন যে এটি যত বড় হবে, তত্ক্ষণাত বাগের জন্য লোকদের পক্ষে আরও কঠিন হতে পারে))

যদি আপনি এটি করতে চান না, তবে পুনরুদ্ধার ইভেন্টগুলি ট্র্যাক করার জন্য কোনও প্রোফাইলার বা বর্ধিত ইভেন্টস ট্রেস চালানোর চেষ্টা করুন, তবে সতর্কতা অবলম্বন করুন - এটি দেখতে এটির চেয়ে শক্ত। (তারা চেষ্টা করেছে এবং ব্যর্থ হয়েছে এমন আরও পাঠক ধারণার জন্য সেই পোস্টে দেওয়া মন্তব্যগুলি পড়ুন))


ধন্যবাদ ব্রেন্ট, এগুলি কিছু ভাল দিকনির্দেশনা! আমার আরও তথ্য থাকবে তখন আমি একটি আপডেট নিয়ে ফিরে আসব, মুহুর্তের জন্য ডিবি ঠিকঠাক, আমি আগামীকাল সকালে প্রক্রিয়াটি আবার চললে কী ঘটবে তা দেখতে পাচ্ছি।
রাদু ঘিওরঘিউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.