السلام عليكم
كنت قد ارسلت هذه المشكله من قبل
ومازالت المشكله كما هى وحجم ملف اللوج وصل الى 135 جيجا
فها اجد حل لديكم
الحل النهائي من وجهه نظري لهذه المشكلة هو ان تقوم بتغيير Recovery model الي Simple ثم تقوم بعمل Shrink لملف الــ log وتترك الــ Recovery model كما هي علي Simple حتي لا يقوم ملف الـ log بتسجيل أي أحداث علي قاعدة البيانات ووقتها لن تحتاج لاخذ Backup منه لانه في هذه الحالة سيصبح عديم الفائدة ولكن سترتاح الي الابد من هذه المشكلة و خذ Full Backup من قاعدة البيانات بشكل دوري
حل آخر
هو عمل Detach لقاعدة البيانات وحذف ملف الــ log
Shift + Delete من علي الجهاز ثم اعادة عمل Attach لقاعدة البيانات مرة أخري فسيقوم برنامج SQL بتوليد ملف log جديد بمساحة قليلة جدا مع الاخذ في الاعتبار اذا تركت Recovery model علي full ستعاني من نفس المشكلة
مرة أخري وأفضل ان تترك قاعدة البيانات الي Simple بعد حذف اللوج
طبعا كل ما اقولة لك يفضل عمله علي سيرفر آخر للتجربة وليس السيرفر الاساسي حتي لا يحدث مشكلة
هذا والله أعلم
بالتوفيق


السلام عليكم ا- محمد
جزاك الله خيرا وجعله فى ميزان حسناتك
1- الحل الاول اللذى ذكرته حضرتك انا جربته ولم يفلح فى تقليص حجم ملف اللوج
2- انا لا يمكن ان احول الـ Recovery model الي Simple حيث اننى احتاج الى الباك اللوج للعوده الى اى نقطه معينه فى قاعده البيانات وذلك حرصا على عدم ضياع اى Transaction
ومن الصعب ان اقوم بعمل باك اب Full كل نصف ساعه مثلا
و مع زياده حجم ملف اللوج والتى وصلت الى 140 جيجا اضطررت ان اعمل الحل الثانى اللذى كنت على علم به ولكننى كنت متخوف منه وقاعده البيانات تعمل الان بشكل طبيعى على الوضع الـFull
والان لى سؤالين
-----------------
1- هل حضرتك جربت موضوع حذف اللوج وانشاء اخر على قاعده بيانات اساسيه( فى العمل لديك) وهل حدث اى مشاكل فى العمل مستقبلا ام لا ؟
2- لماذا يتضخم حجم ملف اللوج فى حاله الـ Full وانا اقوم بعمل باك اب له كل 10 دقائق
فمن المفترض ان الباك اب يقوم بعمل تفريغ لملف اللوج فلماذا يزداد حجمه ؟؟
فالمنطق يقول ان حجمه يزداد اذا كانت قاعده البيانات full و لا يتم عمل الباك اب وقتها فعلا يجب ان يزيد حجم الملف
اما اذا كنت باخذ باك اب للوج فلماذا يزداد حجمه ؟
تم تعديل هذه المشاركة بواسطة تيجر 2000 في 21 يوليو 2014 في 17:41
بخصوص سؤالك الاول :-
نعم جربتها وهي تعمل بدون مشاكل لكن طبعا لا يمكنني تجربة شيء مباشرة علي Live Environment لابد ان تجربها علي سيرفر Test
بخصوص سؤالك الثاني :-
لا يتم تفريغ ملف الــ log بعد عمل Database full Backup أو بعد T-log Full Backup
الحل الان
في حالتك هذه ليس فعلا من المنطقي ان تأخذ Full Backup لقاعدة البيانات كل 10 دقائق لكن يمكنك ان تقوم بعمل Backup Plan كالتالي
1- قبل بدء العمل صباحاً أو كما هو متبع عندك تقوم بعمل Full Backup لقاعدة البيانات
2- ثم يتبعة كل 10 دقائق أو كل 30 دقيقة أو كما هو متبع عندك تقوم بعمل Differential Backup لقاعدة البيانات فهذا الاجراء يقوم بأخذ التغييرات التي حدثت علي قاعدة البيانات فقط بعد آخر Full Backup
وأقصد بالتغييرات هي البيانات التي قام المستخدم بادخال أو بتعديلها أو بحذفها بعد آخر Full Backup لقاعدة البيانات ولن تكون مساحتها كبيرة وبهذه الطريقة يمكنك استرجاع ان اردت الــ Differential Backup في وقت تريدة
3- في هذه الحالة تكون قاعدة البيانات Simple وليست Full لانك في هذا الحل لن تحتاج لان تأخذ Backup من الــ log
اتمني ان تكون الامور وضحت الان
بالتوفيق
ورمضان كريم

