এসকিএলএল-সার্ভার বাকটি পুনরুদ্ধার করা এবং একই সময়ে লগটি সঙ্কুচিত করা কি সম্ভব?


26

আমাদের কাছে ক্লায়েন্টের একটি বাক ফাইল রয়েছে যা আমরা আমাদের তদন্তের জন্য আমাদের বিকাশকারী অফিসগুলিতে স্থানান্তর করেছি। ব্যাকআপটি বর্তমানে 25 জিবি এবং পুনরুদ্ধার করা ডাটাবেস একই আকারের তবে এটি পুনরুদ্ধার করার জন্য 100 গিগাবাইট প্রয়োজন। আমি বিশ্বাস করি এটি কারণ database৫ গিগাবাইট লেনদেনের লগ আকার রাখতে ডেটাবেস সেট আপ করা হয়েছে। ডাটাবেস পুনরুদ্ধার করার পরে আমরা লগ ফাইলটি সঙ্কুচিত করতে পারি তবে পুনরুদ্ধারে এটি করার কোনও উপায় আছে কি?


3
আমি আপনার সম্পর্কে অবগত যে এটি পুনরুদ্ধার সম্পন্ন না হওয়া পর্যন্ত ডাটাবেস পরিবর্তন করতে পারবেন না।
শন মেল্টন

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

উত্তর:


16

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


34

একটা হয় do-না সদা do-এই-ইন-এ-লাইভ-পরিবেশ যেখানে স্থান একটি সংকুচিত ফোল্ডারে লগ ফাইল পুনরূদ্ধার দ্বারা, সীমাবদ্ধ আপনি ব্যবহার করতে পারেন হ্যাক। একটি বিদ্যমান ফোল্ডার সংকোচনের মাধ্যমে এটি চেষ্টা করুন এবং এটি পুনরুদ্ধার করলে ত্রুটির সৃষ্টি হবে, তাই আপনাকে প্রতীকী লিঙ্ক দিয়ে প্রতারণা করতে হবে।

  1. একটি সংকুচিত ফোল্ডার তৈরি করুন D:\LogCompressed\
  2. সংকুচিত ফোল্ডারে একটি প্রতীকী লিঙ্ক তৈরি করুন mklink /D /J D:\Log\ D:\LogCompressed\

  3. Ldf ফাইলটি নির্দেশ করে আপনার ডাটাবেসটি পুনরুদ্ধার করুন D:\Log\

  4. লগ ফাইলটিকে একটি উপযুক্ত আকারে সঙ্কুচিত করুন

  5. ডাটাবেসটি আলাদা করুন, লগ ফাইলটি একটি সঙ্কোচিত ফোল্ডারে সরান, সংযুক্ত করুন

এটি নোংরা, এটি প্রতারণা, লাইভে এটি কখনও করবেন না , তবে এটি কার্যকর works একটি 32MB লগ ফাইলের সাথে একটি সদ্য নির্মিত ডাটাবেসের দ্রুত পরীক্ষাটি ডিস্কে 330kb দখল হিসাবে দেখাবে যখন সংকুচিত হবে, ফোল্ডারটি সংক্ষেপিত করুন এবং ডিস্ক আকারে 32MB এ ফিরে আসবে।


2
@ মার্ক: এই হ্যাকটি কাজ করে তবে নিখুঁত নয়। এমনকি লগ ফাইলটি যদি তার আসল আকারের চেয়ে অনেক কম জায়গা নেয় তবে আপনি যদি ডাটাবেসের আসল আকারের মতোই ডিস্কে মুক্ত স্থান না পান তবে আপনি ডাটাবেস পুনরুদ্ধার করতে পারবেন না। বেসেজ, পুনরুদ্ধার করার সময়, লগ ফাইলের বাস্তবের আকারটি আসল আকার থেকে আস্তে আস্তে নেমে যায়, এটি বেদনাদায়ক। তবে এটি এখনও খুব ভাল একটি হ্যাক। ধন্যবাদ।
চেনউইউকিউ

9

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

বরাদ্দকৃত ডাটাবেস ফাইল স্পেস এবং ব্যবহৃত ডেটা স্পেসের মধ্যে পার্থক্য রয়েছে । এই ক্ষেত্রে, পূর্ববর্তীটি 100 গিগাবাইট এবং পরবর্তীটি 25 জিবি।


1
ক্লায়েন্ট তাদের লেনদেনের জন্য 75 গিগাবাইট বরাদ্দ করে। পুনরুদ্ধারের পরে আমি বর্তমানে লগের বরাদ্দটি 1 জিবিতে পরিবর্তন করি। সম্ভব হলে আমি এই ডাটাবেসটিকে এমন একটি সার্ভারে পুনরুদ্ধার করতে চাই যেখানে ড্রাইভের 100 গিগাবাইটের চেয়ে কম জায়গা থাকে। অন্য সার্ভারে পুনরুদ্ধার না করে, ছাঁটাই, ব্যাকআপ এবং আবার পুনরুদ্ধার করুন।
অ্যাডাম বাটলার

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