أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

وصف الخوارزميات تخزين البيانات وتسجيل توسيع موثوقية البيانات في SQL Server

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

اضغط هنا لرابط المقالة باللغة الانجليزية230785
الموجز
تتناول هذه المقالة كيفية توسيع خوارزميات التسجيل وبيانات Microsoft SQL Server موثوقية البيانات وتكامل.

لمعرفة المزيد حول المفاهيم الأساسية للمحركات والحمل (خوارزمية للاسترداد ودلالات استغلال العزل)، راجع الحركات ACM التالية على الوثيقة "أنظمة قواعد البيانات" (تحت "المجلد 17، رقم 1، آذار/مارس 1992):

العميل المتوقع كاتب هذا المستند هو موهان ت. وتتناول الوثيقة تقنيات SQL Server زيادة موثوقية البيانات والتكامل فيما يتعلق بالفشل.

نوصي بقراءة المقالات التالية في قاعدة المعارف ل Microsoft لمزيد من المعلومات حول التخزين المؤقت ومناقشات وضع فشل البديل:
86903 وصف للتخزين المؤقت لوحدات التحكم بالأقراص في SQL Server
234656 معلومات حول استخدام محرك أقراص ذاكرة التخزين المؤقت مع SQL Server يجب أن تعرف كل مسؤول قاعدة البيانات
معلومات أخرى
قبل أن نبدأ مناقشة متعمقة، بعض المصطلحات المستخدمة في هذه المقالة تم تعريفها في الجدول التالي.
مصطلحتعريف
بطارية احتياطيةالبطارية منفصلة ومترجمة النسخ الاحتياطي المرافق المتوفرة ويتم التحكم بها عن طريق إليه التخزين المؤقت مباشرة لمنع فقدان البيانات.
ملاحظة: هذا ليس وحدة تزويد طاقة غير المنقطع (UPS). لا يضمن أي أنشطة الكتابة UPS ويمكن قطع الاتصال من جهاز التخزين المؤقت.
ذاكرة التخزين المؤقتتقنية التخزين الوسيط المستخدمة لتحسين عمليات الإدخال/الإخراج الفعلي وتحسين الأداء.
صفحة سيئصفحة تحتوي على تعديلات البيانات التي لا يزال مسح التخزين مستقرة. لمزيد من المعلومات حول الصفحة القذرة المخازن المؤقتة، "كتابة صفحات"موضوع في" كتب SQL Server عبر إنترنت ".
ملاحظة: المحتوى ينطبق أيضا على Microsoft SQL Server 2012 والإصدارات الأحدث.
فشلأي شيء قد يؤدي انقطاع الكهرباء غير متوقعة من عملية SQL Server. تتضمن الأمثلة: الطاقة انقطاع وإعادة تعيين الكمبيوتر أخطاء الذاكرة، الأخرى مشاكل الأجهزة، القطاعات التالفة، انقطاع محرك الأقراص، وفشل النظام وهكذا.
مسحفرض المخزن المؤقت ذاكرة التخزين المؤقت التخزين الثابت.
مزلاجكائن مزامنة المستخدمة لحماية تناسق الفعلية لأحد الموارد.
تخزين ثابتأي وسيط يظل متوفراً عبر حالات فشل النظام.
الصفحة المضافةالصفحة التي تبقى في بيانات ذاكرة التخزين المؤقت ولا يمكن مسح للتخزين مستقرة حتى كافة سجلات مقترنة بشكل أمن في موقع تخزين مستقرة.
التخزين مستقرةمثل التخزين الثابتة.
مخزن مؤقتأي وسيط لن تبقى سليمة عبر الفشل.

بروتوكول كتابة مسبقة تسجيل (ال)

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

وتحدد الوثيقة الحمل في وول كما يلي:
يؤكد البروتوكول أن سجلات تمثل التغييرات إلى بعض البيانات يجب أن يكون الفعل في استقرار التخزين قبل السماح باستبدال الإصدار السابق من البيانات في التخزين nonvolatile البيانات التي تم تغييرها. هو النظام غير مسموح بكتابة صفحة تحديث لإصدار التخزين nonvolatile صفحة على الأقل حتى تتم كتابة أجزاء تراجع سجلات تصف التحديثات للصفحة إلى التخزين الثابت.
لمزيد من المعلومات حول تسجيل كتابة مسبقة، سجل الحركة كتابة مسبقة الموضوع في "كتب SQL Server عبر إنترنت".

SQL Server وفي وول

يستخدم SQL Server البروتوكول. للتأكد من أن حركة ملتزمة بشكل صحيح، يجب أن تكون كافة سجلات مرتبطة بالحركة آمنة في التخزين مستقرة.

لتوضيح هذا الموقف، خذ بعين الاعتبار المثال التالي معينة.

ملاحظة: على سبيل المثال، افترض أنه لا يوجد فهرس وأن الصفحة المتأثرة 150 صفحة.
BEGIN TRANSACTION   INSERT INTO tblTest VALUES (1)COMMIT TRANSACTION				
وبعد ذلك، تقسيم النشاط إلى خطوات تسجيل مبسطة، كما هو موضح في الجدول التالي.
بيانالإجراءات التي يتم تنفيذها
بدء العمليةكتابة إلى منطقة ذاكرة التخزين المؤقت للسجل. ومع ذلك، لم يكن ضروريا مسح التخزين مستقرة لأنه لم تصدر أية تغييرات فعلية SQL Server.
إدراج في tblTest
  1. يتم استرداد البيانات 150 صفحة في ذاكرة التخزين المؤقت لبيانات SQL Server، إذا كانت غير متوفرة مسبقاً.
  2. الصفحة مغلق, مثبت، و وضع علامة سيئ، ويتم الحصول على التأمين المناسب.
  3. بناء إدراج سجل وإضافته إلى ذاكرة التخزين المؤقت السجل.
  4. يتم إضافة صف جديد إلى صفحة البيانات.
  5. يطلق جامع.
  6. سجلات التسجيل المقترنة بالحركة أو لا تحتوي الصفحة مسح عند هذه النقطة لأن تظل كافة التغييرات في مخزن مؤقت.
تنفيذ العملية
  1. ويتكون "الالتزام بتسجيل" سجل ويجب كتابة سجلات التسجيل المقترنة بالحركة التخزين الثابت. لا يتم اعتبار الحركة تنفيذها حتى يتم تعيين سجلات التسجيل بشكل صحيح للتخزين مستقرة.
  2. يبقى في ذاكرة التخزين المؤقت ل SQL Server البيانات 150 صفحة البيانات ولا يتم مسح مباشرة إلى التخزين مستقرة. عند تأمين سجلات التسجيل بشكل صحيح، يمكنك استرداد إعادة العملية، إذا لزم الأمر.
  3. يتم إصدار تأمين المعاملات.
لا يتم الخلط بين مصطلحات "تأمين" و "التسجيل". على الرغم من أهميتها، التسجيل والتأمين مسائل منفصلة عند التعامل مع وول. في المثال السابق، SQL Server عموما تعقد قفل الصفحة 150 مرة الضرورية لتنفيذ التغييرات الفعلية إدراج الصفحة، لا بالوقت الكامل للحركة. يتم إنشاء نوع التأمين المناسبة لحماية الصف نطاق الصفحة أو الجدول حسب الضرورة. راجع الأقسام تأمين "كتب SQL Server عبر إنترنت" للحصول على مزيد من التفاصيل حول أنواع التأمين.

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

مخزن SQL Server ومستقرة

SQL Server بتحسين البيانات وسجل العمليات صفحة بما في ذلك معرفة حجم قطاع القرص (عادة 4096 أو 512 بايت).

للاحتفاظ بخصائص ACID الحركة، يجب حساب SQL Server لنقاط الفشل. أثناء فشل تضمن العديد من مواصفات محرك الأقراص فقط عدد محدود من قطاع عمليات الكتابة. مواصفات معظم تضمن اكتمال لكتابة قطاع واحد عند حدوث فشل.

يستخدم SQL Server صفحات البيانات 8 كيلو بايت والسجل (في حالة مسح) على مضاعفات حجم القطاع. (استخدم معظم محركات الأقراص 512 بايت كحجم المقطع الافتراضي.) في حالة فشل، SQL Server يمكن أن تمثل عمليات الكتابة أكبر من قطاع باستخدام سجل التماثل وأساليب الكتابة الممزقة.

اكتشاف صفحة ممزقة

يسمح هذا الخيار SQL Server للكشف عن عمليات الإدخال/الإخراج غير كاملة بسبب انقطاع التيار الكهربائي أو انقطاع النظام الأخرى. True، يؤدي بعض الشيء لانعكاس لكل قطاع 512 بايت في صفحة 8 كيلوبايت (KB) قاعدة بيانات عندما تتم كتابة الصفحة إلى القرص. إذا كان قليلاً في الحالة غير صحيحة عندما تكون الصفحة في وقت لاحق للقراءة قبل SQL Server، ثم الصفحة كتبت بشكل خاطئ؛ تم اكتشاف صفحة ممزقة. تم اكتشاف صفحات ممزقة عادة أثناء الاسترداد نظراً لاحتمال أن يمكن قراءتها بواسطة استرداد أي الصفحة التي تم كتابتها بشكل غير صحيح.

على الرغم من أن صفحات قاعدة البيانات SQL Server 8 كيلوبايت، الأقراص تنفيذ عمليات الإدخال/الإخراج باستخدام قطاع 512 بايت. لذلك، تتم كتابة قطاعات 16 كل صفحة في قاعدة البيانات. صفحة ممزقة يمكن أن يحدث إذا فشل النظام (على سبيل المثال، بسبب انقطاع التيار الكهربائي) بين الوقت الذي يكتب نظام التشغيل أول قطاع 512 بايت للقرص وإكمال عملية إدخال/إخراج 8 كيلو بايت. إذا كتب القطاع الأول لصفحة قاعدة البيانات بنجاح قبل حدوث الفشل، صفحة قاعدة البيانات على القرص سيظهر كتحديث، على الرغم من أنه قد لا يكون نجاح.

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

ملاحظة: لم يتم تمكين اكتشاف صفحة ممزقة بشكل افتراضي في SQL Server. لمزيد من المعلومات، راجع موقع MSDN التالي على الويب:

سجل التماثل

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

إصدارات SQL Server الأقدم من الإصدار 7.0

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

تأثيرات الأداء

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

الخيار FILE_FLAG_WRITE_THROUGH التأكد من أنه عندما ترجع عملية كتابة نجاح، يتم بشكل صحيح تخزين البيانات في التخزين مستقرة. وهذا ينسجم مع البروتوكول تؤكد البيانات.
تحتوي العديد من محركات الأقراص (SCSI و IDE) على اللوحة ذاكرات التخزين المؤقت من 512 كيلو بايت, 1 ميغابايت، أو أكبر. ومع ذلك، تعتمد تخزين محرك الأقراص عادة مكثف وغير مدعومة ببطارية حلاً. لا تضمن هذه الآليات التخزين المؤقت دورة الكتابة عبر طاقة أو فشل مماثل الإشارة. أنها فقط ضمان إنجاز عمليات الكتابة القطاع. هذا على وجه التحديد لماذا الكتابة ممزقة والكشف عن تماثل سجل تم إنشاؤها في SQL Server 7.0 والإصدارات الأحدث. استمرار النمو في حجم محركات الأقراص، زاد حجم تخزين، ويمكنها عرض كميات أكبر من البيانات أثناء فشل.

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

المتقدمة تطبيقات التخزين المؤقت سيتم التعامل مع طلب FILE_FLAG_WRITE_THROUGH بعدم تعطيل ذاكرة التخزين المؤقت وحدة تحكم لأنها توفر true إعادة كتابة قدرات في حالة إعادة تعيين لنظام أو فشل في الطاقة أو أخرى نقطة الفشل.

يمكن أطول بشكل ملحوظ نظراً لأن ميكانيكية الوقت المطلوب لنقل رؤوس محرك الأقراص ومعدلات الدوران والعوامل الأخرى التي تحد نقل الإدخال/الإخراج دون استخدام ذاكرة التخزين المؤقت.

طلب القطاع

قطاع تقنية شائعة تستخدم لزيادة أداء إدخال/إخراج الأمر. لتجنب حركة الرأس ميكانيكية يتم فرز طلبات القراءة والكتابة، السماح باقتراح أكثر تناسقاً من الرأس إلى استرداد أو تخزين البيانات.

ذاكرة التخزين المؤقت يتسع السجل متعددة وكتابة بيانات طلبات في نفس الوقت. البروتوكول وول وتنفيذ البروتوكول وال SQL Server يتطلب مسح سجل يكتب إلى التخزين الثابت قبل إصدار كتابة صفحة. ومع ذلك، استخدام ذاكرة التخزين المؤقت قد إرجاع النجاح من طلب كتابة سجل دون البيانات المكتوبة على محرك الأقراص الفعلي (أي، مكتوبة للتخزين الثابت). قد يؤدي هذا إلى إصدار طلب كتابة صفحة البيانات SQL Server.

وبمشاركة ذاكرة التخزين المؤقت للكتابة، البيانات لا يزال يعتبر في مخزن مؤقت. ومع ذلك، من استدعاء Win32 API WriteFile، تماما كيف يرى SQL Server النشاط، رمز إرجاع نجاح حصل. SQL Server أو أي عملية يستخدم استدعاءWriteFileAPI تحديد حصل أونليثات البيانات تخزين مستقرة بشكل صحيح.

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

عند تقييم عوامل الأداء الأمثل لخادم قاعدة بيانات، إلا أن هناك العديد من العوامل في الاعتبار. وأهم هذه، "النظام تسمح إمكانيات FILE_FLAG_WRITE_THROUGH صحيح؟"

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

قد أظهرت الاختبارات التي قد تتضمن العديد من تكوينات الأقراص تخزين الكتابة المؤقت دون النسخة الاحتياطية المناسبة البطارية. محركات أقراص SCSI و IDE أو EIDE الاستفادة الكاملة من ذاكرة التخزين المؤقت في الكتابة. لمزيد من المعلومات حول كيفية عمل سواقات جنبا إلى جنب مع SQL Server سيتي في أعقاب مقالة مدونة المهندسين ملقم SQL CSS:


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

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

الكتابة في ذاكرة التخزين المؤقت للتجميع

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

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

توزيع تلقائي للكتابة (AWR)

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

أمان البيانات

هناك عدة الاحتياطات التي يجب اتخاذها مسؤول قاعدة بيانات لضمان سلامة البيانات.
  • أنها لفكرة جيدة للتأكد من أن استراتيجية النسخ الاحتياطي كافية للاسترداد من فشل ذريع. يتم التخزين خارج الموقع والتحوطات الأخرى المناسبة.
  • اختبار عملية استعادة قاعدة البيانات في ثانوية أو قاعدة بيانات الاختبار بشكل متكرر.
  • تأكد من أن أية أجهزة التخزين المؤقت يمكنه معالجة جميع حالات الفشل (انقطاع التيار الكهربائي والقطاعات التالفة محركات أقراص تالفة، انقطاع النظام، عدم الاستجابة، ارتفاع الطاقة وهكذا).
  • تأكد من أن جهاز التخزين المؤقت:
    • يتكامل بطارية احتياطية
    • يمكن إعادة كتابة على السلطة حتى
    • يمكن تعطيل تماما إذا لزم الأمر
    • معالجة إعادة تعيين مقطع تالف في الوقت الحقيقي
  • تمكين اكتشاف صفحة ممزقة. (وهذا له تأثير طفيف على الأداء.)
  • تكوين محركات الأقراص RAID السماح تبديل من محرك أقراص غير صحيح، إذا كان ذلك ممكناً.
  • استخدام وحدات تحكم التخزين المؤقت أحدث تسمح لك بإضافة المزيد من مساحة القرص دون إعادة تشغيل نظام التشغيل. قد يكون هذا حل الأمثل.

اختبار محركات الأقراص

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

ملاحظة: تأكد من أن بديل إليه التخزين المؤقت بشكل صحيح معالجة أنواع متعددة من الفشل.

قامت Microsoft بتنفيذ اختبار على محركات أقراص SCSI و IDE باستخدام الأداة المساعدة سقليوسيم . تحاكي هذه الأداة المساعدة نشاط ثقيل غير متزامن للقراءة/الكتابة إلى جهاز محاكاة البيانات وسجل الجهاز. إظهار إحصائيات أداء اختبار عمليات الكتابة متوسط في الثانية بين 50 و 70 لمحرك أقراص باستخدام التخزين المؤقت للكتابة معطل ونطاق لفة في الدقيقة بين 5200 و 200 7.

لمزيد من المعلومات حول الأداة المساعدة سقليوسيم ، راجع المقالة التالية في "قاعدة المعارف ل Microsoft":
231619 كيفية استخدام الأداة المساعدة سقليوسيم لمحاكاة نشاط SQL Server على نظام فرعي القرص
ترتيب العديد من الشركات المصنعة للكمبيوتر محركات الأقراص بتعطيل ذاكرة التخزين المؤقت الكتابة. ومع ذلك، اختبار يوضح أن هذا قد لا تكون دائماً الحالة. ولذلك، يجب الاختبار باستمرار تماما.

أجهزة البيانات

في الحالات جميعا ولكن غير تسجيل، سيتطلب SQL Server سجلات التسجيل مسح. عند القيام بعمليات غير تسجيل، يجب أن يتم مسح صفحات البيانات أيضا لاستقرار التخزين؛ لا توجد أية سجلات فردية لإعادة إنشاء الإجراءات في حالة فشل.

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

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

زيادة الأداء

السؤال الأول الذي يحدث: "لدى محرك أقراص IDE تم التخزين المؤقت. ولكن عندما أنا تعطيل، أدائي أصبح أقل بكثير مما كان متوقعا. لماذا؟ "

تشغيل العديد من محركات أقراص IDE اختبارها من قبل Microsoft نسبة 5200 لفة في الدقيقة، ومحركات أقراص SCSI في 7200 دورة في الدقيقة. عندما تقوم بتعطيل عملية الكتابة بالتخزين المؤقت لمحرك أقراص IDE أداء ميكانيكية يمكن أن يصبح عاملاً.

توجد منطقة واضحة جداً لمواجهة فرق الأداء: "معالجة معدل الحركة".

هناك العديد من المعاملات عبر إنترنت معالجة أنظمة (OLTP) التي تتطلب نسبة عالية من حركة. هذه الأنظمة، خذ في الاعتبار استخدام وحدة تحكم التخزين المؤقت بشكل صحيح تعتمد التخزين مؤقت لكتابة وتوفير تعزيز الأداء مع ضمان تكامل البيانات.

لمواجهة التغييرات الأداء مع SQL Server على محرك أقراص التخزين المؤقت إلى حد كبير، زيد معدل الحركة باستخدام المعاملات الصغيرة.

يؤدي اختبار يوضح كتابة نشاط المخازن المؤقتة أقل من 512 كيلو بايت أو أكبر من 2 ميغا بايت عالية الأداء البطيء.
خذ بعين الاعتبار المثال التالي:
CREATE TABLE tblTest ( iID int IDENTITY(1,1), strData char(10))GOSET NOCOUNT ONGOINSERT INTO tblTest VALUES ('Test')WHILE @@IDENTITY < 10000   INSERT INTO tblTest VALUES ('Test')				
فيما يلي نتائج اختبار العينة لخادم SQL:
SCSI(7200 RPM) 84 ثانية
SCSI(7200 RPM) 15 ثانية (وحدة تحكم في التخزين المؤقت)

IDE(5200 RPM) 14 ثانية (محرك أقراص ذاكرة التخزين المؤقت لتمكين)
IDE(5200 RPM) 160 ثانية

تشغيل التفاف سلسلة عمليات الإدراج بأكملها في عملية واحدة في أربع ثوان تقريبا في كافة التكوينات.

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

عند استخدام معاملة واحدة، يمكن تجميع سجلات الحركة وكتابة واحد أكبر، ويمكن استخدامها لمسح سجلات التي تم جمعها. تدخل ميكانيكية يكون أقل بكثير.

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

انظر البيانات المقترنة بسجل مسح وتحديد يمكن تقليل عدد مسح السجل. في المثال السابق، تم تطبيق معاملة واحدة. ومع ذلك، في العديد من الحالات، قد يؤدي هذا إلى سلوك غير مرغوب فيه التأمين. فحص في تصميم الحركة. يمكنك استخدام تعليمات برمجية مشابهة لما يلي لإجراء دفعات لتقليل تدفق سجل صغيرة ومتكررة النشاط:
BEGIN TRANGOINSERT INTO tblTest VALUES ('Test')WHILE @@IDENTITY < 50BEGIN   INSERT INTO tblTest VALUES ('Test')   if(0 = cast(@@IDENTITY as int) % 10)   BEGIN      PRINT 'Commit tran batch'      COMMIT TRAN      BEGIN TRAN   ENDENDGOCOMMIT TRANGO				
SQL Server يتطلب دعم أنظمة "يضمن تسليم الوسائط مستقرة،" كما هو موضح في متطلبات مراجعة برنامج SQL الخادم الإدخال/الإخراج الثبات تحميل المستند. لمزيد من المعلومات حول متطلبات الإدخال والإخراج لمشغل قاعدة بيانات SQL Server، انقر فوق رقم المقالة التالي للانتقال إلى المقالة في "قاعدة المعارف ل Microsoft":
967576 متطلبات المدخلات والمخرجات مشغل قاعدة بيانات ملقم Microsoft SQL

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 230785 - آخر مراجعة: 05/15/2015 22:09:00 - المراجعة: 1.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard

  • kbhowto kbinfo kbmt KB230785 KbMtar
تعليقات
html>l>