سؤال

كيف يمكنني زيادة حجم سجل العمليات?هو من الممكن أيضا أن زيادة مؤقتة سجل المعاملات?

دعونا نقول لدي السيناريو التالي.لدي عملية حذف هذا هو كبير جدا بالنسبة الحالي سجل المعاملات.أنا wan't:

  • زيادة سجل المعاملات (يمكنني الكشف عن الحجم الحالي?, يمكن أن أقول كيف كبيرة أحتاج سجل المعاملة أن تكون العملية؟)
  • (أداء العمليات)
  • النسخ الاحتياطي سجل المعاملات
  • استعادة حجم سجل العمليات.
هل كانت مفيدة؟

المحلول

الجواب القصير:

الجواب طويل:يمكنك استخدام ALTER DATABASE ... MODIFY FILE تغيير حجم ملفات قاعدة البيانات ، بما في ذلك ملفات السجل.يمكنك البحث master_files/sysfiles (2k) أو <dbname>.sys.database_files (2k5/2 ك 8) للحصول على الاسم المنطقي السجل.ويمكنك استخدام DBCC SHRINKFILE لتقليص ملف (إن أمكن).

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

ذلك يعتمد على الكثير من العوامل (هو هذا الجديد ؟ هل هو التحديث ؟ هل حذف ؟ ما الانتعاش النموذج ؟ هل لديك ضغط على SQL 2 ك 8?الخ الخ) ولكن عادة ما تكون أكبر مما كنت تتوقع.وأود أن تقدير 2.5 أضعاف حجم التحديث كنت على وشك القيام بها.

تحديث:

غاب قلت هو حذف.تقدير تقريبي هو 1.5 مرة حجم البيانات المحذوفة (بما في ذلك جميع الفهارس).

نصائح أخرى

يمكن تكوين سجل المعاملات للتوسيع حسب الحاجة.قمت بتعيين الخيار للنمو تلقائيا.ومع ذلك، عندما يصبح سجل المعاملات كبيرًا جدًا (نفاد مساحة القرص) أو يجعل خادم SQL غير قابل للاستخدام.

عمل نسخة احتياطية من سجل المعاملات.سوف يقوم SQL تلقائيًا باقتطاع المعاملات غير النشطة

عند استعادة سيتم تخفيض سجل المعاملات

لتكوين النمو التلقائي:

  1. انقر بزر الماوس الأيمن على قاعدة البيانات في استوديو الإدارة.
  2. حدد خصائص
  3. تحديث قيمة النمو التلقائي

الجزء الأكثر أهمية هو السطر الأخير من السيناريو الخاص بك:"استعادة حجم سجل المعاملات." تقصد تقليص السجل مرة أخرى إلى حجمه الأصلي.

يعد هذا أمرًا خطيرًا حقًا لعدة أسباب، وقد قمنا بتغطيتها في مقالتين في SQLServerPedia:

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