INF: مهلة Writelog الرسائل و Bufwait فهم

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

167711
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
عند اختبار errorlog SQL Server ، قد يظهر بشكل دوري أنواع الرسائل التالية:
bufwait: bp مهلة BUF_IO ، 0xd37ab0 ، pg 0x5e74e ، 0x1008 stat/0x400003 ، الكائنات 0x6d4f8c1b ، bpss 0x2069e1f0
- أو -
writelog: مهلة dbid 2 dbstat2 0x22(0x22) مالك 0/1/q2 س١ = 3 waittype = 0x81
يشرح هذا المقال معنى bufwait ورسائل مهلة writelog.
معلومات أخرى
SQL Server يستخدم في I/O الاستدعاءات غير المتزامنة طلب & ReadFile() & لـ ، ReadFileEx() و WriteFile() WriteFileEx() عند تنفيذ عمليات القراءة وكتابة. هذه الاستدعاءات Win32 API إرسال طلب I/O إلى Windows NT Server والسماح ثم التطبيق للمتابعة مع عمليات أخرى أثناء انتظار اكتمال العملية. عند الاكتمال "، فإنه الإشارات التطبيق اكتمال عملية الكتابة من إجراء مزامنة الحدث أو الإكمال.

رسائل bufwait و logwrite ويتم تحذيرات فعلياً قد لا يكون بالضرورة تسجيل أي مشكلة مع الكمبيوتر أو SQL Server. إذا SQL Server لدى انتظار أطول من عدد الثواني التي تم تكوينها في 'مورد المهلة' إعداد (الذي بشكل افتراضي 10 ثوانٍ) ، فإنه يطبع رسالة خطأ تشير إلى المهلة. ومع ذلك، فإنه يجب متابعة انتظار طلب الإدخال/الإخراج لإكمال قبل أن يمكنك المتابعة. رسالة bufwait يتوافق مع تأخير في قراءة صفحة من القرص وضع في ذاكرة التخزين المؤقت أو مسح صفحة في ذاكرة التخزين المؤقت الخروج إلى القرص. رسالة logwrite تقتصر على قراءة أو كتابة السجل.

يستخدم SQL Server أساليب تزامن مؤشر الترابط العادي لضمان المرتبة الوصول إلى سجل المعاملات. في رسالة مهلة writelog يتم توفير معرف قاعدة البيانات في حقل dbid بالإضافة إلى معرّف العملية (المالك) الذي كان قيد انتظار الاتصال الأخرى. في رسالة نموذجية أعلاه, تم استخدام إشعار معالجة الحالي tempdb (dbid 2) و انتظار على عملية اختبار (مالك = 3). عند تحقيق السبب المهلات writelog ، قد يكون مفيدًا بشكل دوري الاستعلام sysprocesses لجمع معلومات حول ما هي أنواع معالجة قيد التنفيذ بواسطة spid "المالك" المذكورة في رسالة writelog.

إضافة نشاط الاستعادة كثيف سجل إضافية والقرص اتصال I/O ثم قد تم الملاحظة مثل نشاط كـ تساهم writelog المهلات. للحصول على أفضل أداء، محاولة تقليل عدد المعاملات التي يجب أن يتم التراجع; كما قد النشاط على زيادة "الملقم" باستخدام مهلة استعلام قصيرة جداً إضافية exacerbate المشكلة عن طريق rollbacks غير الضرورية. تمت إضافة بـ SQL Server 6.5 Service Pack 2، خيار تكوين جديد ، LogLRU المخازن المؤقتة, التي قد يؤدي إلى تحسين الأداء في البيئات التي تتطلب القراءة سجل كثيف مثل قد تطالب في معالجة الاستعادة أو المشغل. لاحظ أن استخدام هذا الخيار يحجز مساحة لاستيعاب السجل صفحات في ذاكرة التخزين المؤقت, مما يؤدي إلى إنقاص مقدار ذاكرة التخزين المؤقت البيانات المتوفرة. راجع الملف Readme.txt المضمّنة في حزمة الخدمة للحصول على مزيد من المعلومات حول تحديد قيمة المثلى لهذه المعلمة.

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

يقوم بمعالجة لتحديد ما تحميل النظام الفرعي القرص, يمكن استخدام "مراقبة الأداء" مراقبة عدادات القرص المناسب إلى النظام. مراقبة العداد % Disk Time LogicalDisk و/أو PhysicalDisk التي تتوافق مع الأجهزة سجل والبيانات; إذا كانت القيمة بشكل متناسق العالية بعين الاعتبار طرق تنتشر التحميل I/O والبحث عن indications الفرعي القرص هو الوصول إلى الحدود الخاصة به. يمكنك تنفيذ إضافية جيد توليف باستخدام % "زمن قراءة القرص" والتحكم عدادات "زمن الكتابة إلى القرص" % ، والذي يسمح أفضل في الانتشار التحميل I/O عبر الأقراص ووحدات التحكم. تشير قيمة Disk Queue Length كبير إلى backlog كبيرة في طلبات I/O فقد ترغب في الاستقصاء عن إضافة المزيد من الأقراص أو تحميل وحدات تحكم إضافية لانتشار على I/O. يمكن العثور على معلومات إضافية حول عدادات القرص في وثائق Windows NT Server و Windows NT Server Resource Kit المقالة التالية في "قاعدة المعارف لـ Microsoft":
102020: كيفية مراقبة أداء القرص مع مراقبة الأداء

أثناء نتجت هذه الرسائل من التأخير في تنفيذ I/O, عدة قيم تكوين SQL Server يكون تأثير مباشر على سرعة النقل I/O الكلي النظام: الحد الأقصى المتزامن I/O; lazywrite الحد الأقصى I/O; السكون logwrite; و مهلة المورد.

تحدد القيمة التكوين 'الحد الأقصى المتزامن I/O' الحد الأقصى لعدد I/O غير المتزامنة معلقة طلبات أن SQL Server سيسمح ، اختناق عدد الطلبات المعلقة. عندما يتم إنشاء طلب إدخال/إخراج غير متزامن Windows NT Server يجب أن قائمة الانتظار الطلب الذي يحتوي على المقترنة مقدار حمل. بينما يمكن زيادة طلبات إدخال/إخراج غير متزامن الأداء عند استخدام بشكل مناسب ، يمكن الوصول حد فعلياً قد الاستخدام إضافية يبدأ إلى انخفاض أداء النظام وذلك عند أي نقطة. يعتمد هذا الحد كبير على وحدة تحكم وبرنامج النظام الفرعي للقرص المقترنة. إذا قمت باستمرار تلقي أي أخطاء أعلاه تم تغيير هذا الإعداد من قيمته الافتراضية ، خذ بعين الاعتبار تعيين ذلك الإعداد إلى قيمته الافتراضية.



المعلمة 'الحد الأقصى lazywrite I/O' بشكل كبير ترتبط الإعداد 'الحد الأقصى المتزامن I/O' ولكن throttles عدد الطلبات المعلقة التي تم إجراؤها بواسطة عملية Lazywriter بشكل خاص. يحاول عملية Lazywriter بمسح الصفحات التي تم تغييرها من ذاكرة التخزين المؤقت إلى القرص بحيث دائماً وجود بعض المساحة الحرة في ذاكرة التخزين المؤقت البيانات. يتم التحكم في مقدار المسافة التي يحاول العملية الاحتفاظ حرة من خلال خيار التكوين 'المخازن المؤقتة الحرة'.

إعداد التكوين 'logwrite السكون' هو خيار تكوين متقدم يفرض تأخير المقصودة قبل كتابة سجل الصفحات إلى القرص. لأنه يجب الالتزام فعلياً إلى القرص قبل إجراء تعديلات البيانات صفحات سجل ، تحتاج بشكل عام على هذه عمليات الكتابة إلى تنفيذ كـ بسرعة قدر الإمكان. في بعض الحالات، يمكنك تحسين الأداء عن طريق فرض مهلة عن قصد بحيث يمكن عدة عمليات "حزمة" سجلات التسجيل على صفحة واحدة كما وبالتالي تقليل عدد عمليات الكتابة. يتم حساب مقدار الوقت المستخدم في هذا التأخير المقصودة كجزء من فترة المهلة الكلية عملية الكتابة لذا قد تكون مهلة writelog induced عن طريق زيادة إعداد التكوين 'logwrite السكون' artificially. يجب فقط بأسلوب التحكم فيه إجراء تغييرات هذه القيمة التكوين لضمان hindered الأداء هي لا.



يتحكم إعداد التكوين 'مهلة المورد' مهلة الكلي على عمليات الإدخال/الإخراج غير المتزامن. افتراضياً، يتم تعيين الإعداد إلى 10 (ثواني) حتى أي عملية التي تأخذ أكثر من 10 ثوان لإكمال النتائج في تحذير مهلة. قد يؤدي تعيين هذه القيمة منخفض جداً مهلات في وقت قصير unrealistically. إذا كنت تشاهد المهلات bufwait أو writelog بشكل متكرر, يمكنك زيادة هذا الإعداد إلى تقليل التردد الذي يتم إنشاء هذه الأخطاء.

لأن SQL Server stresses النظام الفرعي I/O لذلك بشكل مكثف ، المهم أيضًا التحقق من تشغيل مع الإصدارات الأحدث من محرك الأقراص و البرامج الثابتة تحكم وكذلك أحدث برنامج تشغيل. أيضاً راجع الشركة المصنعة للجهاز للحصول على أي التشخيص قد يكون لديك للحصول على stressing الفرعي القرص.

إذا لم ساعدك المعلومات أعلاه من حل هذه المشكلة, قد تحتاج إلى stressing النظام بطريقة مشابهة التي بواسطة SQL Server. تمت كتابة أداة مساعدة تسمى SQLHDTST لمساعدتك على القيام بذلك. لمزيد من المعلومات حول الأداة المساعدة ومواقع فإنه يمكن تحميل منه راجع المقالة التالية في "قاعدة المعارف لـ Microsoft:
178444ملفات SQL Server الأدوات المتوفرة
يتطلب ملقم SQL أنظمة لدعم ‘ ضمان التسليم إلى وسائط والاستقرار ’ كما هو موضح من ضمن برنامج Microsoft SQL Server Always-On التخزين الحل مراجعة. الحدودلمزيد من المعلومات حول متطلبات الإدخال مشغل قاعدة بيانات SQL Server "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
967576متطلبات الإدخال/الإخراج مشغل قاعدة بيانات ملقم Microsoft SQL
خطأ رسالة bufwait writelog التكوين sp_configure

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

خصائص

رقم الموضوع: 167711 - آخر مراجعة: 01/16/2015 18:51:08 - المراجعة: 3.1

  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • kbnosurvey kbarchive kbmt kbenv kbhardware kbinfo KB167711 KbMtar
تعليقات