سؤال

لذلك لدينا SQL Server 2000 يعطيني خطأ "ملف السجل للحصول على قاعدة بيانات كاملة.النسخ الاحتياطي سجل المعاملات لقاعدة البيانات إلى تحرير بعض مساحة السجل."

كيف يمكنني إصلاح هذا دون حذف سجل مثل بعض المواقع الأخرى المذكورة ؟

معلومات إضافية:تمكين AutoGrowth تمكين نموا بنسبة 10% وأن يقتصر 40MB.

هل كانت مفيدة؟

المحلول

سكوت ، كما كنت تفكر:اقتطاع السجل هو خطوة سيئة إذا كنت الرعاية حول البيانات الخاصة بك.

التالية, حر, أشرطة الفيديو سوف تساعدك على معرفة بالضبط ما يحدث و سوف تظهر لك كيفية إصلاح هذه المشكلة من دون اقتطاع السجلات.(هذا الفيديو يفسر أيضا لماذا هذا خطير هاك و لماذا أنت على حق أن نبحث عن حل آخر.)

معا هذه الفيديو سوف تساعدك على فهم بالضبط ما يحدث و سوف تظهر لك ما إذا كنت ترغب في التبديل إلى الاسترداد بسيطة ، أو النظر في تغيير الواقع النسخ الاحتياطي الخاص بك الروتينية.هناك أيضا بعض الإضافية 'كيف' أشرطة الفيديو التي سوف تظهر لك بالضبط كيفية إعداد النسخ الاحتياطي الخاصة بك لضمان توافر حين أن إدارة ملف سجل التحجيم و النمو.

نصائح أخرى

لمجرد أنها فارغة:

backup log <dbname> with truncate_only  

لحفظه في مكان ما:

backup log <dbname> to disk='c:\somefile.bak'

إذا كنت حقا لا تحتاج إلى المعاملات التاريخ ، حاول وضع قاعدة البيانات في وضع الاسترداد بسيطة.

الأثير النسخ الاحتياطي قاعدة البيانات الخاصة بك سجلات بانتظام إذا كنت بحاجة إلى استرداد ما يصل إلى دقيقة أو غيرها من الاشياء متعة مثل سجل الشحن في المستقبل ، أو تعيين قاعدة البيانات إلى طريقة بسيطة و تقليص ملف البيانات.

لا نسخ أو إعادة تسمية أو حذف .ملف ldf هذا وسوف كسر قاعدة البيانات الخاصة بك و بعد التعافي من هذه البيانات في حالة غير متناسقة مما يجعلها غير صالحة.

لا أعتقد أن تسمية أو نقل ملف السجل العمل في حين أن قاعدة البيانات على الانترنت.

أسهل شيء للقيام به المنظمة البحرية الدولية ، هو فتح خصائص قاعدة البيانات " و " التبديل إلى طراز الاسترداد بسيطة.ثم تقليص قاعدة البيانات ومن ثم العودة وتعيين DB الكامل Recoery نموذج (أو أي نموذج كنت في حاجة).

تغيير وضع التسجيل SQL Server تعيين نقطة تفتيش في قاعدة البيانات ، وبعد تقلص قاعدة البيانات سوف تحرر المساحة الزائدة.

صديقي الذي واجهت هذا الخطأ في الماضي يوصي:

محاولة

  • النسخ الاحتياطي قاعدة البيانات.خطة الصيانة يشمل الاقتطاع من هذه الملفات.
  • أيضا محاولة تغيير 'وضع الاسترداد عن DB إلى بسيطة (بدلا من كامل على سبيل المثال)

السبب:سجل المعاملات تتضخم بسبب الأحداث التي يتم تسجيل (ربما لديك عدد من الصفقات الفاشلة يتم التراجع..أو مفاجئة بلغت ذروتها في المعاملات على الملقم )

حسنا هل يمكن أن تأخذ نسخة من سجل المعاملات ، ثم اقتطاع ملف السجل ، وهو ما رسالة الخطأ تشير إلى.

إذا كانت مساحة القرص ممتلئ ولا يمكنك نسخ تسجيل الدخول إلى جهاز آخر عبر الشبكة ، ثم قم بتوصيل محرك الأقراص عن طريق USB ونسخ تشغيله بهذه الطريقة.

لديك الجواب في سؤالك:النسخ الاحتياطي السجل, بعد ذلك سوف يكون تقلصت.جعل خطة صيانة بانتظام النسخ الاحتياطي قاعدة البيانات و لا تنسى لاختيار "النسخ الاحتياطي سجل المعاملات".وبهذه الطريقة سوف يبقيه الصغيرة.

إذا كان غير بيئة الإنتاج استخدام

dump tran <db_name> with no_log;

وبمجرد الانتهاء من تقليص ملف سجل لتحرير مساحة القرص.وأخيرا تبديل قاعدة البيانات وضع الاسترداد بسيطة.

في أقرب وقت كما كنت تأخذ نسخة احتياطية كاملة من قاعدة البيانات, قاعدة البيانات غير استخدام طراز الاسترداد بسيطة, SQL Server يحتفظ بسجل كامل لجميع المعاملات من أي وقت مضى تنفيذها على قاعدة البيانات.يفعل هذا حتى في حالة الفشل الذريع حيث تفقد ملف البيانات ، يمكنك استعادة إلى نقطة فشل النسخ الاحتياطي سجل و, مرة واحدة كنت قد استعادت قديم بيانات النسخ الاحتياطي واستعادة السجل إلى إعادة فقدت المعاملات.

لمنع هذا بناء يجب أن النسخ الاحتياطي سجل المعاملة.أو يمكنك كسر سلسلة في النقطة الحالية باستخدام TRUNCATE_ONLY أو NO_LOG خيارات النسخ الاحتياطي السجل.

إذا كنت لا تحتاج هذه الميزة ، تعيين طراز الاسترداد بسيطة.

صديقي العزيز انة مهم DBA التحقق من ملف سجل كثيرا جدا.لأنه إذا كنت لا تعطي الكثير من الاهتمام نحو ذلك يوما ما أنه سوف يعطي هذا الخطأ.

لهذا الغرض يجب أن تأخذ دوريا مرة أخرى حتى أن سجلات الملف لن تواجه مثل هذا الخطأ.

أخرى ثم هذا ما ورد أعلاه في ضوء الاقتراح على حق تماما.

إعادة تسمية ذلك.على سبيل المثال:
القديمة-log-16-09-08.سجل

ثم SQL server يمكن استخدام جديد فارغ واحد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top