আমি কিছুটা নতুন ডিবিএ করছি এবং আমি একটি এসকিউএল সার্ভার 2012 পরিচালনা করছি যাতে ন্যায্য পরিমাণ ক্রিয়াকলাপ থাকে। আমি পূর্ণ পুনরুদ্ধার মোডে চলছি কারণ আমাদের সময় পুনরুদ্ধারের পয়েন্ট দরকার।
এখনই, আমি প্রতিদিন 5 টা বাজে ডেটাবেস এবং লগগুলির একটি সম্পূর্ণ ব্যাকআপ নিচ্ছি। কিছু লগ ফাইল 300gb অবধি বেলুন করেছে এবং ব্যাকআপ নেওয়ার পরেও সেগুলি আকার হ্রাস করে না। আমি এ জাতীয় কিছু চালিয়ে তাদের আকার হ্রাস করতে পারি:
BACKUP LOG db1 TO DISK = '\\server\share\db1_log1.trn';
DBCC ShrinkFile([db1_log], 0);
BACKUP LOG db1 TO DISK = '\\server\share\db1_log2.trn';
DBCC ShrinkFile([db1_log], 0);
BACKUP LOG db1 TO DISK = '\\server\share\db1_log3.trn';
DBCC ShrinkFile([db1_log], 0);
আমি যখন ব্যাকআপ ফাইলগুলির এলএসএন পরীক্ষা করি তখন আমি এমন কিছু দেখতে পাই:
RESTORE headeronly FROM DISK = N'\\server\share\db1_log1.trn'
FirstLSN: 15781000014686200001
SecondLSN: 15802000000665000001
RESTORE headeronly FROM DISK = N'\\server\share\db1_log2.trn'
FirstLSN: 15802000000665000001
SecondLSN: 15805000000004100001
RESTORE headeronly FROM DISK = N'\\server\share\db1_log3.trn'
FirstLSN: 15805000000004100001
SecondLSN: 15808000000004200001
আমি বিশ্বাস করি না আমি লগ ফাইলগুলি সঙ্কুচিত করে আমার লগ চেইনটি ভেঙে ফেলছি। এটি পড়ার পরে, আমি বিশ্বাস করি যে আমি আমার পারফরম্যান্সকে আঘাত করছি কারণ এই সঙ্কুচিত লগ ফাইলগুলি তাদের আবার বাড়তে হবে।
প্রশ্নাবলী:
- আমার ব্যাকআপগুলির পরে লগ ফাইলটি সঙ্কুচিত হবে না কেন? অনাবৃত লেনদেনের কারণেই কি এটি?
- প্রথমে আমি ভাবছিলাম প্রতি 5:00 টা ব্যাকআপের পরে লগ ফাইলগুলি সঙ্কুচিত করা উচিত। পারফরম্যান্সের জন্য এটি কীভাবে খারাপ তা পড়ার পরে আমি এখন বিশ্বাস করি যে দিনের বেলা কয়েক ঘন্টা আমার নিয়মিত লগ ব্যাকআপ নেওয়া উচিত। এটা কি ঠিক?
- আমার ডাটাবেস / লগগুলির সম্পূর্ণ পূর্ণ ব্যাকআপটি প্রতিদিন সকাল :00:৩০ এ ঘটে এবং মাঝে মাঝে 3 ঘন্টা সময় লাগে। আমি যদি প্রতি ঘন্টায় লগ ব্যাকআপগুলি শিডিউল করি, যখন লগ ব্যাকআপটি 5:00 এএম ব্যাকআপের সাথে সংঘর্ষ হয় তখন কী হবে?