سؤال

أنا وضع خطة ل SQL Server 2012 EE بشكل صحيح تقليص حجم و نوع (nchar إلى شار أنواع) بعض داع Unicode nvarchar(max) حقول ترغب في تحسين حجم قاعدة البيانات كجزء من التوقف عن طريق القيام مرة واحدة يتقلص.وقد أظهرت التجارب 50% من المساحة المخصصة الادخار الذي هو 11G من البيانات.

بعد القراءة والتجريب ، فإنه من الواضح أن تقلص قاعدة بيانات يسبب مؤشر تجزئة وإعادة بناء الفهارس الأسباب قاعدة البيانات إلى التوسع.الصيد الحقيقي-22 الحالة.أنا لا أريد أن أترك 50% من المساحة الحرة في قاعدة البيانات التي 11G من قرص التخزين في هذه الحالة.

سوف التالية تكون لائقة نهج لمرة واحدة يتقلص التي من شأنها أن تسمح تنتهي مع عدم ميتا الفهارس و حتى الآن مؤشر الإحصاءات ؟

o النسخ الاحتياطي ث/ التحقق تكرار النسخ الاحتياطي.

o انخفاض جميع المؤشرات.

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

o تقليص قاعدة بيانات ترك كمية معقولة من المساحة الحرة.

o إعادة كل الفهارس التي أسقطت.

o التحقق من صحة قاعدة بيانات التحقق من التشرذم.

لافتا إلى أي المحاذير ، اقتراحات ، gotchas أو بدائل تنظر بتقدير كبير.

Thx يا ديف

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

المحلول

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

أيضا ، و مرة أخرى عموما ، ما لم تكن البيانات الخاصة بك وسوف أبدا تنمو مرة أخرى ، وتحرير الفضاء مؤقتا من فائدة تذكر (أن لا أعرف ماذا تقصد ب "المعقولة").كنت بحاجة إلى ترك مساحة حرة على محرك الأقراص في حالة قاعدة البيانات ينمو مرة أخرى, أليس كذلك ؟ لماذا يتقلص ذلك إلا أن يكون ذلك تنمو مرة أخرى ؟ أنت ذاهب إلى توفير الإيجار على المدى القصير على هذا الفضاء حتى قاعدة البيانات ينمو ؟ تحاول تجنب المساحة الحرة % التنبيهات ؟

اقتراح:تعطي هذه الوظائف قراءة جيدة...

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