এসকিউএল সার্ভার লেনদেনের ব্যাকআপগুলি বনাম লগ


12

আমি একটি মাঝারি আকারের ব্যবসায়িক-সমালোচনামূলক এসকিউএল সার্ভার ২০০ database ডাটাবেস উত্তরাধিকার সূত্রে পেয়েছি এবং ব্যাকআপ পরিকল্পনার আশেপাশে আমার মাথা মোড়ানোর চেষ্টা করছি। (আমি একজন বিকাশকারী, ডিবিএ নয়।)

আমাদের সিস্টেমটি এখনই যেভাবে সেট আপ করা হয়েছে সেখানে দুটি ব্যাকআপ সিস্টেম রয়েছে:

  1. সাপ্তাহিক পূর্ণ ব্যাকআপ ( .bak) এবং প্রতি ঘন্টা লেনদেন লগ ( .trn) ব্যাকআপ। আমরা এই ব্যাকআপগুলির বেশ কয়েকটি সেট রাখি এবং সেগুলি নিয়মিত অফসাইটে পাঠানো হয়।
  2. এসকিউএল সার্ভার লগগুলি ( .ldf), যা পুনরুদ্ধারের মডেলটিতে সেট করা আছে Full। এই ফাইলটি মূল .mdfফাইলটি থেকে পৃথক ড্রাইভে রয়েছে তবে অন্যথায় ব্যাকআপ হয় না।

জরুরী পুনরুদ্ধার (বা কোনও ডেভ মেশিনে ব্যাকআপ পুনরুদ্ধার করার সময়) এর ক্ষেত্রে, আমার পদ্ধতিটি .bakফাইলগুলি ব্যবহার করা এবং তারপরে .trn ফাইলগুলি প্রয়োগ করা। আমাদের কাছে একটি স্ক্রিপ্ট রয়েছে যা এই পদ্ধতিটি তুলনামূলকভাবে সোজা করে তোলে।

আমার প্রশ্নগুলো:

  1. .ldfফাইল থেকে ডাটাবেস পুনরুদ্ধার করা সম্ভব ? এটা কি জন্য?
  2. এই উভয় লেনদেনের লগ থাকা কি অযথা অনর্থক?
  3. .ldfফাইলটি ব্যাকআপ করা কি গুরুত্বপূর্ণ ?

উত্তর:


16

না, একটি এলডিএফ ফাইল থেকে কোনও ডাটাবেস পুনরুদ্ধার করা সম্ভব নয়। এমডিএফ ফাইলের সাথে এলডিএফ ফাইল পুনরুদ্ধার করা হবে।

না, এটি অনর্থক নয় কারণ তাদের দুটি পৃথক উদ্দেশ্য রয়েছে।

পূর্ণ ব্যাকআপ নেওয়া এবং লেনদেনের লগ ব্যাকআপ নেওয়া গুরুত্বপূর্ণ। কেবলমাত্র ldf ফাইলের একটি অনুলিপি থাকা আপনাকে ডেটাবেস পুনরুদ্ধার করতে সহায়তা করে না।

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

যদি সার্ভারটি ক্র্যাশ হয়ে যায় বা কোনও বিদ্যুৎ ব্যর্থ হয়, যখন এসকিউএল শুরু হয়, তখন এটি ldf পড়ে এবং সেই পরিবর্তনগুলি পুনরায় প্রয়োগ করে (REDO)।

তদুপরি, আপনার যদি লেনদেন হয়নি এবং সেভার ক্র্যাশ হয়ে যায় এমন কোনও লেনদেন থাকলে, সেই লেনদেনের দ্বারা করা সমস্ত পরিবর্তনগুলি ডাটাবেসকে সামঞ্জস্য করার জন্য পূর্বাবস্থায় ফিরে আসতে হবে। Ldf ফাইলের সেই কাজটিও রয়েছে। (পূর্বাবস্থায় ফিরুন)

আমি উপরে উল্লেখ করেছি যে ldf ফাইলটি বিজ্ঞপ্তিযুক্ত। লেনদেন লগ ব্যাকআপ গ্রহণ (.trn) ldf ফাইলের একটি অংশ অনুলিপি করে। ট্রেন ফাইলটি নিরাপদে তৈরি হওয়ার পরে, এসকিউএল ldf ফাইলের সেই অংশটি পুনরায় ব্যবহার করতে পারে। ট্রেন ব্যাকআপের সিরিজটি একটি শৃঙ্খলা তৈরি করে যা একসাথে ডাটাবেসে প্রতিটি পরিবর্তন রেকর্ড করে। অবশ্যই, আপনি যদি কখনও ট্রানজিকেশন লগ ব্যাকআপ না নেন, তবে ldf ফাইলটি বৃদ্ধি এবং বৃদ্ধি পাবে।

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

আমি কিছু গুরুত্বপূর্ণ বিশদটি নিয়ে গ্লস করছি, তবে সংক্ষেপে হ'ল এলডিএফ একটি কার্যকারী ফাইল যা ডাটাবেসে সাম্প্রতিক পরিবর্তনগুলি রেকর্ড করে। ট্রেন ফাইলগুলি এলডিএফের কিছু অংশের অনুলিপি যা এই অনুমানের অধীনে তৈরি করা হয়েছে যে আপনি তখন নিরাপদ রাখবেন যাতে স্কুয়েল এলডিএফের স্থানটি পুনরায় ব্যবহার করতে পারে এবং যদি বিপর্যয় ঘটে তবে আপনার সেগুলি অন্য কোনও স্থানে থাকতে পারে।


2
+1 খুব সুন্দর উত্তর। কেবলমাত্র আমি যুক্ত করব যে কোনও ডিবিএ যখন "ডাটাবেস" বলবে তখন তাদের অর্থ .mdf (ডেটা ফাইল) এবং .ldf (লগ ফাইল) সংযুক্ত ফাইলগুলি বোঝায়। দুটি ফাইল একসাথে একক ইউনিট তৈরি করে। কিছু ডাটাবেসে আপনি একাধিক .mdfs এবং / অথবা .ndfs (গৌণ ডেটা ফাইল )ও দেখতে পাবেন। এই ফাইলগুলি একত্রে একত্রিত হয়ে একক একককে ডাটাবেস বলে। যদি আপনি তাদের কোনওটি হারিয়ে ফেলেন তবে আপনি একটি দুর্যোগ মোডে রয়েছেন এবং সংশোধনমূলক পদক্ষেপ নিতে হবে।
কেনেথ ফিশার

+1 ভাল উত্তর, কোনও সিস্টেমে লাইভ থাকা অবস্থায় 'শারীরিক ফাইল' (প্রকৃত .mdf / .ndf / .ldfs) ব্যাক আপ করতেও ভুল করবেন না, এমনকি এমএস এসকিউএল সার্ভার হিসাবে চলমান নর্টনের মতো একটি তৃতীয় পক্ষের অ্যাপ্লিকেশন সহ একটি নিরাপদ 'ব্যাকআপ'। এই ফাইলগুলি অত্যন্ত সংবেদনশীল, সুতরাং প্রকৃত এমএস এসকিউএল সার্ভার ব্যাকআপ ফাইলগুলি সর্বদা তৈরি করা উচিত যখন সম্ভব হয়।
আলী রাজেঝি

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