النمو التلقائي لـ SQL Server 2005 حسب الحجم

لقد كنت أبحث في خادم قاعدة البيانات الجديد الذي نقوم بإعداده للعميل ونلاحظ أن ملفات قاعدة البيانات مضبوطة على النمو بمعدل 1 ميج في كل مرة يكون الملف ممتلئًا وحجمه المبدئي 100 ميغابايت.

لقد تم النظر في هذا breifly وأنه لا يبدو صحيحا. لقد راجعت بعض المواقع على اعتبارات قاعدة البيانات ولم يشرح هذه القيم بشكل صحيح.

ربما كنت ترغب فقط في تمديد ملفات قاعدة البيانات مرة في الشهر ، هل يجب أن نقول؟

لذا ، إذا كنت سأقوم بحساب كمية البيانات التي أتوقع إدخالها في اليوم بالميغابايت وضربها في 30 فقط ، فيجب أن أجد رقمًا مناسبًا؟

i.e. I do know approximately the size of 1 row and approx how many rows will be inserted in an average week per table. I know these are estimates from the ground up so you think once a month is a suitable approximation for the file to extend or is it preferable to extend every hour>? or never?

نحن نستخدم ظهرًا كاملًا حتى نتمكن من الاسترداد إلى نقطة زمنية ، وتحدث النسخ الاحتياطية لسجل المعاملات ويبدو أن إجراء الاسترداد فعال بنسبة 100٪. هل تؤثر أنواع التغييرات هذه على النسخ الاحتياطي والاسترداد بأي طريقة على الإطلاق؟

شكر.

3

6 إجابة

ما اقترحته هو إلى حد كبير على الفور. كنت تريد أن يكون autogrowth على أساس ما تتوقع أن ترى.

ستشهد قاعدة بيانات تحتوي على 1 ميجا بايت في كل مرة مليئة بالمشاكل الكبيرة في الأداء ، حيث أنه في كل مرة تمتلئ فيها قاعدة البيانات ، سيتعين على أي عملية قيد التنفيذ التوقف مؤقتًا حتى نمت.

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

تعديل: http: //searchsqlserver.techtarget.com/tip/0،289483،sid87_gci1330922،00.html المقالة حول تقليص قاعدة البيانات الخاصة بك ، ولكن تفاصيل ما يحدث عندما تنمو قاعدة البيانات تلقائياً ، ويظهر تأثير الأداء يمكن أن يكون.

أنت بالتأكيد لا تريد أن تنمو قاعدة البيانات الخاصة بك في كثير من الأحيان كما هو الحال في 1 ميجابايت البوب!

3
وأضاف

في رأيي ، لن أضع قاعدة بيانات لتنمو في النسب المئوية ، بدلاً من السماح لقاعدة البيانات بالنمو لمدة أسبوع عند 100 ميغابايت ، ثم تغيير إعداد النمو إلى قيمة أسبوع من النمو ، دعنا نقول 5 جيجابايت. لدينا أنظمة قمنا بها لهذا الغرض.

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

السبب الذي يدفعني إلى الابتعاد عن نسبة النمو هو أنه عندما يكون النظام 1000 ميغابايت ، سينمو بمقدار 100 ميغابايت. ثم ، في المرة التالية ، النظام هو 1100 ميغابايت وسوف تنمو بلدي 110 ميغابايت. سيكون الحجم 1210 ثم ستنمو قاعدة البيانات في 121 ميغابايت. ثم سيكون الحجم 1331 ، وسيكون النمو 133 ميغابايت. مع هذا النمو غير المتكافئ ، سيجعل من الصعب للغاية حساب مقدار مساحة القرص المتبقية لديك ووقت الحاجة إلى إعادة ضبط الحد الأقصى لإعداداتك.

فقط 2 سنتات بلدي بعيدا.

أيضا ، يتم تعيين النمو الافتراضي المذكور أعلاه داخل قاعدة بيانات MODEL. ما هي إعدادات قاعدة بيانات MODEL الخاصة بك عند إنشاء قاعدة بيانات جديدة هي ما تم تسجيله في قاعدة البيانات الجديدة.

2
وأضاف

في كل مرة ينمو فيها ملف البيانات ، فإنه يأخذ بعض الموارد حيث يمسك مساحة القرص الزائدة ويمتد ملف البيانات. لذلك ، من الناحية المثالية ، ترغب في الحد من عدد الزيادة.

أنا شخصياً أحاول التأكد من أن قواعد البيانات الخاصة بي لا تحتاج إلى التطوير التلقائي على الإطلاق. أحاول نموها بشكل استباقي خلال ساعات العمل. وهذا يتيح لي أيضًا مراقبة مساحة القرص على نحو أفضل ، نظرًا لأن ذلك لا يمكن بسهولة "النمو التلقائي" ؛)

إذا كانت تنمو تلقائيًا مرة واحدة شهريًا ، فيجب أن تكون جيدة. كل دقيقة ومن المحتمل أن ترى تأثيرًا على الأداء.

بخلاف النسخ الاحتياطي المحتمل يحتمل مساحة أكبر وملء موقع النسخ الاحتياطي الخاص بك لا أستطيع التفكير في أي سبب من شأنه أن يسبب مشكلة في عملية النسخ الاحتياطي الخاصة بك. أنا أكثر من مطور SQL من DBA ، لذلك لا أستطيع أن أقسم بذلك.

0
وأضاف

وبصرف النظر عن بعض المساحة المخصصة الزائدة عن الحاجة ، فهناك القليل أو لا يوجد جانب سلبي للزيادة الكبيرة في الحجم. تعيين الزيادة إلى حجم يؤدي إلى أن ينمو كل شهر أو بضعة أشهر حول الصحيح.

في أي حال ، يجب أن يكون لديك وظيفة منتظمة تراقب المساحة الحرة على كل من وحدات تخزين القرص وداخل الملفات وتنتج تقريرا حتى تتمكن من رؤية نقص القرص الوشيك.

0
وأضاف

أنت بشكل عام صحيحة حول محاولة تقليل عدد المرات التي يجب أن تنمو فيها قاعدة البيانات الخاصة بك.

لم أتمكن من إعطائك أية قيم دقيقة ، ولكن من الأفضل دائمًا أن يكون حجم ملف قاعدة البيانات كبيرًا للغاية ، بحيث لا تحتاج إلا لنموه من حين لآخر ، ومن ثم يجب عليه أن ينمو بشكل كبير بحيث لا يكون لديك تغييرات متكررة في حجم الملف.

0
وأضاف

لقد تحققت للتو في SQL Server Management Studio 2008 وكان النمو الافتراضي عند إنشاء قاعدة بيانات جديدة هو 1 ميغابايت ... هذا هو المكان الذي جاء فيه إعدادك 1MB (أراهن أنه كان نفسه في عام 2005).

أتذكر القراءة منذ فترة طويلة أنه يمكن للمرء أن يفكر في إعداد ملف قاعدة البيانات ليتضاعف في كل مرة يحتاج إلى النمو. الآن ، إذا كان لديك قاعدة بيانات 5 تيرابايت ، فمن المحتمل ألا ترغب في ذلك سوى يوم واحد فقط ، ولكن بالنسبة لقاعدة بيانات حجمها 1 غيغابايت ، فمن المحتمل أن تكون باردة إذا تضاعفت عندما تحتاج إلى (سيكون لديك معدل تراجعي لأحداث النمو إذا كنت لديك معدل ثابت من إدخال البيانات).

أردت فقط تقديم ما أعتقد أنه يمكن أن يكون إستراتيجية قابلة للتطبيق ، حسب ظروفك ، بالطبع.

0
وأضاف