আমার কাছে একটি ডাটাবেস রয়েছে যার একটি 350 এমবি ডেটা ফাইল (.mdf) এবং একটি 4.9 জিবি লগ ফাইল (.ldf) রয়েছে। পুনরুদ্ধার মডেল সেট করা আছে FULL
।
আমি যখন লগ ফাইলটি সঙ্কুচিত করার চেষ্টা করি তখন এটি সঙ্কোচিত হয় না।
আমি জানি একটি ডাটাবেস সঙ্কুচিত করা ভাল নয় এবং এটি করা উচিত নয়। তবে তবুও আমি লগ ফাইল সঙ্কুচিত করার জন্য এটি করার চেষ্টা করছি।
আমি যখন দৌড়েছি
DBCC SQLPerf(logspace)
আমি দেখতে পেয়েছি যে লগের আকার 4932 এমবি এবং ব্যবহৃত লগ স্পেস 98.76% !
তারপরে আমি এই আদেশটি চেষ্টা করেছিলাম
USE <databasename>;
DBCC loginfo;
এখন প্রায় সব ভিএলএফই "স্ট্যাটাস 2" যার অর্থ সমস্ত ব্যবহৃত হয় in
আমি লগ ব্যাকআপ নেওয়ার চেষ্টা করেছি এবং তারপরে লগ ফাইলটি সঙ্কুচিত করব। সঙ্কুচিত হওয়ার ফলে আকার হ্রাস হয়নি।
আমি পুনরুদ্ধার মডেলটিতে পরিবর্তন করেছি SIMPLE
এবং আবার সঙ্কুচিত করার চেষ্টা করেছি, তবে এটিরও কোনও লাভ হয়নি।
আমি খোলা লেনদেনের জন্য পরীক্ষা করেছিলাম
DBCC opentran (database);
এবং দেখা গেছে যে এখন কোনও লেনদেন খোলা নেই।
লগ ফাইল সঙ্কুচিত করা থেকে আমাকে কী থামছে? আমি কীভাবে এটি সমাধান করতে পারি?
log_reuse_wait_desc
দিয়েছেACTIVE_TRANSACTION
। লেনদেন শেষ হওয়ার সাথে সাথে সঙ্কুচিত কাজটি ঠিকঠাক হয়ে গেল।