কীভাবে একটি এসকিউএল সার্ভার ডাটাবেস পুনরুদ্ধার করবেন এবং একই সাথে এর ফাইলগুলি সঙ্কুচিত করবেন?


9

ধরা যাক আমার কাছে একটি এসকিউএল সার্ভার ডাটাবেস রয়েছে যার ডাটা ফাইলগুলি প্রাথমিক আকারের 100 গিগাবাইট দিয়ে তৈরি করা হয়েছে তবে এটিতে কেবল 10 জিবি ডেটা রয়েছে। একটি ডাটাবেস ব্যাকআপ তখন আকারে 10 জিবি হবে।

আমি এই ব্যাকআপটি অন্য একটি সার্ভারে (বা একই সার্ভারের একটি পৃথক ডাটাবেস) পুনরুদ্ধার করতে চাই, তবে আমি চাই না যে এটি মূল ডিস্কের (100 গিগাবাইট) হিসাবে একই ডিস্কের স্থান নেবে, যা ডিফল্টরূপে ঘটে।

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

আমি কি ডাটাবেসটি পুনরুদ্ধার করতে পারি এবং এটিতে প্রকৃত ডেটা রয়েছে কেবল ততটুকু স্থান গ্রহণ করার কোনও উপায় আছে ?


আমি একই সমস্যা ছিল। ডিস্কে নেওয়া মূল ডিবি স্পেসটি ছিল GB 30 জিবি (প্রায় 1.5 জিবি বাস্তব ডেটা সহ) এবং আমি এটি আমার স্থানীয় এমএসএসকিউএল এক্সপ্রেস সার্ভারে পুনরুদ্ধার করতে চাই। সুস্পষ্ট সমস্যাটি হ'ল আমার স্থানীয় সার্ভারটি কেবলমাত্র সর্বাধিক অনুমতি দেয়। 10 গিগাবাইট, যেহেতু এটি একটি বিনামূল্যে সংস্করণ। সুতরাং, আমি এটি করতে সক্ষম হব, যদি আমি ডিবি পুনরুদ্ধার করার আগে ফাইলগুলি সঙ্কুচিত করতে সক্ষম
হতাম

উত্তর:


6

না, দুঃখিত - কোনও উপায় নেই ব্যাকআপ থাকাকালীন ফাইলগুলি পুনরুদ্ধার করুন। তার পরে বা ব্যাকআপ নেওয়ার আগে কাঁপুনি করতে হবে।


2

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

এর আগে অন্য বিকল্পগুলি ছিল আপনি বাদাম ঝুড়ি (তবে কেবল তখনই কার্যকর যদি আপনার চলমান এসকিএল সার্ভার ২০০৮ আর ২ হয়) হ'ল এসকিউএল সার্ভার একটি ট্রেসফ্লাগ ব্যবহার না করেই সরাসরি একটি অংশে ডাটাবেস ফাইল তৈরির পক্ষে সমর্থন করে এবং আমি বলতে পারি ব্যক্তিগত অভিজ্ঞতা থেকে আপনি এটি কাজ করে! সুতরাং আপনি একটি ভাগের সাথে সরানো পুনরুদ্ধার করতে পারেন।


1

সাধারণত বলছি, না। কয়েকটি এলোমেলো ধারণা যা আপনার পক্ষে কোনও সহায়ক হতে পারে বা নাও পারে:

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

অবশেষে, আমি আমার প্রোডাকশন ডেটাবেজে কিছু "কনুই রুম" চাই, তবে 100 জিবি মোট 90 জিবি বিনামূল্যে কিছুটা চরম শোনাচ্ছে। নিম্নলিখিত পদক্ষেপগুলি আপনাকে যা প্রয়োজন তা দিতে পারে এবং উত্পাদনকে প্রভাবিত করবে না:

  1. একটি রান DBCC SHRINKFILE ('myfile.MDF', TRUNCATEONLY)প্রকাশনা তথ্য ফাইলে সাময়িকভাবে ফাইলের শেষে কোনো মুক্ত স্থান মুক্তি (ক TRUNCATEONLY আই নিবিড় নয়, এবং হবে না টুকরা ইনডেক্স)
  2. লগ ফাইলটি যদি বড় DBCC SHRINKFILEহয় তবে লগ ব্যাকআপ নেওয়ার পরে, কম কার্যকলাপের সময়ে প্রোডাকশন লগ ফাইলটি চালান on
  3. আপনার ব্যাকআপ চালান
  4. একটি কি ALTER DATABASE MODIFY FILEউৎপাদন তথ্য ফাইল মূল আকার পুনরায় হত্তয়া।

এই পদক্ষেপগুলি ব্যবহার করে কোনও উত্পাদন প্রভাব হওয়া উচিত নয়। একমাত্র ঝুঁকি হ'ল যদি কিছু ডেটা 100gb ডেটা ফাইলের একেবারে শেষের দিকে ঘটে, তবে সেক্ষেত্রে পদক্ষেপ (1) কোনও স্থান ছাড়লে বেশি প্রকাশ করবে না।


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