কোনও সময়সূচীতে লেনদেন লগগুলি ব্যাকআপ ও কাটানোর সর্বোত্তম উপায়


9

আমি কোনও ডিবিএ নই, তবে জিনিসগুলি যা তা হ'ল, আমাকে ডিবিএ টুপি পরতে হবে এবং আমার এসকিউএল সার্ভারের উদাহরণস্বরূপ রক্ষণাবেক্ষণের পরিকল্পনা স্থাপন করতে হবে।

কিছুক্ষণের জন্য আমি রাতারাতি আমার এসএসআইএস প্রক্রিয়াটি ব্যাকআপগুলি সম্পাদন করতে একটি এক্সিকিউট এসকিউএল টাস্ক চালাচ্ছি - মূলত master.dbo.xp_create_subdirগন্তব্য ফোল্ডারগুলির উপস্থিতি নিশ্চিত করার জন্য চলছে এবং তারপরেও BACKUP DATABASE [DbName] TO DISK = 'G:\Backups\DbName\DbName.bak' WITH INIT

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

"ম্যানুয়াল ট্র্যাঙ্কেট" স্ক্রিপ্টটি এর মতো দেখাচ্ছে:

use Staging;
alter database Staging set recovery simple
alter database Staging set recovery full
dbcc shrinkfile ('Staging_log', 0, truncateonly);
go

সুতরাং আমি এতে ক্লান্ত হয়ে উঠছি, এবং আমি পরিবর্তে জিনিসগুলি যথাযথভাবে চেষ্টা করার এবং করার সিদ্ধান্ত নিয়েছি এবং এখানে পদক্ষেপগুলি অনুসরণ করব এবং একটি প্রকৃত রক্ষণাবেক্ষণ পরিকল্পনা তৈরি করব :

এসকিউএল সার্ভার রক্ষণাবেক্ষণ পরিকল্পনা

কথাটি হ'ল, আমি এটি আগে কখনও করি নি, তাই আমার কয়েকটি প্রশ্ন রয়েছে:

  • এই জাতীয় লেনদেন লগগুলি ব্যাক আপ করা কি এগুলি স্বয়ংক্রিয়ভাবে কেটে যাবে, বা আমার আরও কিছু করার দরকার আছে?
  • ডেটা এবং লেনদেন লগ ব্যাকআপ একযোগে চালানো ঠিক আছে কি? যদি তা না হয়, তবে এটি করার উপযুক্ত উপায় কী?
  • ব্যাকআপ ফাইলগুলি অন্য একটি প্রক্রিয়া দ্বারা রাতারাতি নেওয়া হচ্ছে যা সার্ভারের সমস্ত ফাইল ধরে এবং এগুলি অন্য কোথাও সঞ্চয় করে - 2 দিনের পরে ব্যাকআপ সেটটির মেয়াদ শেষ হওয়া কি ভাল ধারণা হবে? আমার কি এগুলি আদৌ শেষ হওয়ার দরকার?
  • পরিস্কার কার্যগুলি যথাক্রমে "পুরাতন" .বাক এবং .trn ফাইলগুলি সাবফোল্ডারগুলির আওতায় সরিয়ে দেয় G:\Backups। যে জানার জন্য?
  • এসএসআইএস-এ এটি করা ভাল কি, তাই যদি / যখন ব্যাকআপগুলি ব্যর্থ হয় আমি আমার ইটিএল ব্যর্থ করতে পারি? বা আমার ETL প্রক্রিয়া এমনকি যত্ন নেওয়া উচিত?

দুঃখিত যদি এটি একটি পোস্টের জন্য অনেক বেশি প্রশ্ন হয়, প্রয়োজন হলে আমি সম্পাদনা করব এবং এর পরিবর্তে একাধিক প্রশ্ন জিজ্ঞাসা করব - আমি মনে করি এগুলি যদিও তারা দৃ tight়ভাবে সম্পর্কিত।


3
আপনি "কাটা" বলতে কী বোঝাতে চান? আপনি কি লগ ফাইলটি সঙ্কুচিত করার জন্য লগ ব্যাকআপের প্রত্যাশা করছেন? কোন উদ্দেশ্যে? তাহলে কি আবার বাড়তে পারে?
অ্যারন বারট্র্যান্ড

3
এছাড়াও, আমি আরও পরামর্শ দেওয়ার আগে আপনাকে পটভূমির জন্য এই প্রশ্নটি এবং এর উত্তরগুলি পড়ার পরামর্শ দিচ্ছি: dba.stackexchange.com/q/29829/1186
অ্যারন বার্ট্র্যান্ড

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

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

3
যেহেতু আপনি বলছেন যে আপনাকে পয়েন্ট-ইন-টাইম পুনরুদ্ধারের দরকার নেই, তাই কেন আপনি এমনকি পুরো পুনরুদ্ধারের মডেলটিকে বিকল্প হিসাবে বিবেচনা করছেন তা নিশ্চিত নয়,
অ্যারন বারট্রান্ড

উত্তর:


7

কেবল রাতারাতি এসএসআইএস লিখতে থাকে, দিনের সময় সব পড়ে থাকে - আমার কেবল দৈনিক পুনরুদ্ধার প্রয়োজন।

আপনার ব্যবসায়ের প্রয়োজনের উপর ভিত্তি করে আপনার পুনরুদ্ধার মডেলটি নির্বাচন করা উচিত:

  • ডেটা ব্যবসায় কতটা শিথিল হতে পারে এবং একই সাথে বেঁচে থাকতে পারে?

উপরের উত্তরের ভিত্তিতে, আপনার সাবধানে আপনার ডাটাবেস পুনরুদ্ধার মডেল নির্বাচন করা উচিত ।

সহজ কথায় (বাল্ক লগ করা পুনরুদ্ধারের মডেল নিয়ে আলোচনা না করা) ,

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

মনে রাখবেন লগ কাটাটি লেনদেনের লগ ফাইলের আকারে দৈহিক হ্রাস নয় এটির অর্থ হ'ল লেনদেন লগ ফাইলের নিষ্ক্রিয় অংশটিকে পুনরায় ব্যবহারযোগ্য হিসাবে চিহ্নিত করা হয়েছে ।

সুতরাং আপনার লেনদেনের লগ ফাইল (এবং ডেটা ফাইলগুলি) যথাযথভাবে চাপানো উচিত। লগ ফাইলটি বাড়ানো অটোগ্রোথ ইভেন্টগুলিতে কিক করবে (যদি আপনার ডাটাবেসটি শেষ অবলম্বন হিসাবে অটোগ্রোতে সেট করা থাকে)। আমার উত্তরটি পরীক্ষা করুন - অটোগ্রোথ - শতাংশের ব্যবহার?


আমি আপনাকে রক্ষণাবেক্ষণের পরিকল্পনাগুলি খালি করার এবং [একটি স্মার্ট রক্ষণাবেক্ষণ সমাধান - এটি সহজ, নমনীয় এবং সর্বোত্তম অভ্যাস অনুসরণ করে] কার্যকর করার পরামর্শ দিচ্ছি - 5 । - ওলার ব্যাকআপ সলিউশন (এবং সূচক রক্ষণাবেক্ষণ সমাধানও )।


আপনার প্রশ্নগুলির ঠিকানা দেয়:

এই জাতীয় লেনদেন লগগুলি ব্যাক আপ করা কি এগুলি স্বয়ংক্রিয়ভাবে কেটে যাবে, বা আমার আরও কিছু করার দরকার আছে?

দয়া করে ব্যাকআপগুলি সংযোজন করবেন না বা তাদের মেয়াদ শেষ হয়ে যাবে। তারা একটি বড় জগাখিচুড়ি তৈরি। INITডেটটাইম স্ট্যাম্প সহ আলাদা লগ ব্যাকআপ ব্যবহার করুন এবং নিন। বজায় রাখা সহজ. তার জন্য ওলার ব্যাকআপ সমাধানটি ব্যবহার করুন। পুরানো ব্যাকআপগুলি মোছার জন্য সমাধানটি নমনীয়।

ডেটা এবং লেনদেন লগ ব্যাকআপ একযোগে চালানো ঠিক আছে কি? যদি তা না হয়, তবে এটি করার উপযুক্ত উপায় কী?

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

এছাড়াও, পূর্ণ ব্যাকআপের সময় একটি লগ ব্যাকআপ লেনদেনের লগকে ছাঁটাবে না। সম্পূর্ণ (ব্যাকআপ) সম্পূর্ণ ব্যাকআপ শেষ হওয়ার পরে লগ ব্যাকআপ / গুলি লগটি কেটে যাবে।

ব্যাকআপ ফাইলগুলি অন্য একটি প্রক্রিয়া দ্বারা রাতারাতি নেওয়া হচ্ছে যা সার্ভারের সমস্ত ফাইল ধরে এবং এগুলি অন্য কোথাও সঞ্চয় করে - 2 দিনের পরে ব্যাকআপ সেটটির মেয়াদ শেষ হওয়া কি ভাল ধারণা হবে? আমার কি এগুলি আদৌ শেষ হওয়ার দরকার?

পরিস্কার কর্মগুলি যথাক্রমে জি: \ ব্যাকআপগুলির সাবফোল্ডারগুলির অধীনে "পুরাতন" .বাক এবং .trn ফাইলগুলি সরিয়ে দেয়। যে জানার জন্য? এসএসআইএস-এ এটি করা ভাল কি, তাই যদি / যখন ব্যাকআপগুলি ব্যর্থ হয় আমি আমার ইটিএল ব্যর্থ করতে পারি? বা আমার ETL প্রক্রিয়া এমনকি যত্ন নেওয়া উচিত?

উভয়ের উপরে, ওলার ব্যাকআপ রক্ষণাবেক্ষণ সমাধান ব্যবহার করুন। এটি পুরানো ফাইলগুলি মুছে ফেলার যত্ন নেবে।


অসাধারণ. সুতরাং আমি আমার সমস্ত ডাটাবেসের জন্য পুনরুদ্ধার মডেলটিকে 'সিম্পল' এ পরিবর্তন করেছি এবং ওলার স্ক্রিপ্টটি চালিয়েছি। মনে হচ্ছে এখনই আমাকে যা করা দরকার তা আসলে তৈরি করা কাজের সময়সূচী করা ?
ম্যাথিউ গুইনডন

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