كيفية استكشاف أخطاء تناسق قاعدة البيانات التي أعدها DBCC CHECKB

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

اضغط هنا لرابط المقالة باللغة الانجليزية2015748
الأعراض

عند تنفيذ DBCC CHECKDB (أو أوامر مماثلة أخرى مثل CHECKTABLE)، تتم كتابة رسالة كما يلي إلى ERRORLOG ملقم SQL:

2010/03/31، spid53 22:07:06.34 CHECKDB DBCC (mydb) تنفيذها بواسطة MYDOMAIN\theuser تم العثور على أخطاء 15 وإصﻻح أخطاء 0. الوقت المنقضي: 0 ساعة 0 دقيقة 0 ثانية.لقطة قاعدة البيانات الداخلية تقسيم الشبكة نقطة = 00000026:0000089 د: الشبكة الأول و 0001 = 00000026:0000089 c: 0001.هذه رسالة إعلامية فقط. مطلوب أي إجراء من المستخدم.

تظهر هذه الرسالة تم العثور على عدد أخطاء تناسق قاعدة البيانات وعدد أصلحت (إذا تم استخدام خيار إصلاح مع الأمر). هذه الرسالة مكتوبة إلى سجل أحداث التطبيق Windows أيضا كرسالة "مستوى المعلومات" مع EventID = 8957 (حتى إذا كان يتم الإعلام عن أخطاء هذه الرسالة عبارة عن رسالة مستوى).

المعلومات الواردة في الرسالة بدءاً من "الداخلية قاعدة بيانات اللقطة..." يظهر فقط إذا تم تشغيل DBCC CHECKDBعبر الإنترنت، وفي حالة قاعدة البيانات ليست في وضع SINGLE_USER. وهذا لأنه يستخدم ل CHECKDB DBCC عبر الإنترنت، صورة قاعدة بيانات داخلية لتقديم مجموعة متسقة من البيانات للتحقق.

لن تناقش هذه المقالة كيفية استكشاف كل خطأ معينة أعدها DBCC CHECKDB ولكن بدلاً من ذلك النهج العام إذا كان تقرير الأخطاء. ينطبق أي مرجع إلى CHECKDB في هذه المقالة أيضا على DBCC CHECKTABLE وتشيكفيليجروب ما لم يذكر على وجه التحديد.

السبب

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

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

الحل

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

عندما تقوم بتشغيل DBCC CHECKDB توصية تقدم إلى الإشارة إلى ما هو أدنى خيار الإصلاح المطلوب لإصلاح كافة الأخطاء. هذه الرسائل قد يبدو كما يلي:

CHECKDB العثور على أخطاء تخصيص 0 و 15 أخطاء التناسق في قاعدة البيانات 'mydb'.
repair_allow_data_loss هو مستوى الحد الأدنى من إصلاح الأخطاء التي تم اكتشافها من قبل CHECKDB DBCC (mydb

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

للبحث عن سبب لماذا تحدث أخطاء تناسق قاعدة البيانات، يجب مراعاة هذه الأساليب:

  • تفحص سجل أحداث نظام Windows لأي مستوى النظام أو برنامج تشغيل القرص أخطاء المرتبطة
  • التحقق من تكامل نظام الملفات بواسطة الأمر chkdsk.
  • تشغيل تشخيص أي الموفرة من قبل الشركات المصنعة للأجهزة الخاصة بك للكمبيوتر و/أو قرص النظام.
  • العمل مع بائع الجهاز أو الشركة المصنعة للجهاز للتأكد:
    • تؤكد الأجهزة والتكوين متطلبات الإدخال/الإخراج ل SQL Server
    • تحديث برامج تشغيل الأجهزة، ومكونات البرامج الأخرى الداعمة لكافة الأجهزة الموجودة في مسار الإدخال/الإخراج
  • عليك استخدام أداة مثل سقليوسيم على محرك الأقراص نفسه كقواعد البيانات التي قاموا بالإبلاغ عن الأخطاء التناسق. سقليوسيم أداة مستقلة عن مشغل ملقم SQL لاختبار سلامة إدخال/إخراج لقرص النظام. لاحظ أن سقليوسيم السفن مع SQL Server 2008 ولا رويكر عدم تحميل منفصلة.
  • التحقق من وجود أية أخطاء أخرى أعدها SQL Server مثل "خرق الوصول". هذه الأنواع من المشاكل التي قد تؤدي إلى تلف قاعدة بيانات ذلك تأكد لحل هذه الأخطاء أولاً.
  • تأكد من قواعد البيانات الخاصة بك تستخدم خيار المجموع الاختباري PAGE_VERIFY. إذا كان يتم الإعلام عن أخطاء المجموع الاختباري، هذه هي مؤشرات تناسق حدث خطأ بعد أن كتب SQL Server الصفحات إلى القرص حيث يجب فحص نظام القرص تماما. راجعكيفية استكشاف 824 Msg في SQL Server لمزيد من المعلومات حول أخطاء المجموع الاختباري.
  • ابحث عن أخطاء Msg 832 في ERRORLOG. هذه هي مؤشرات الصفحات قد تتلف أثناء وجودها في ذاكرة التخزين المؤقت قبل المكتوبة إلى القرص. راجعكيفية استكشاف 832 Msg في SQL Serverللحصول على مزيد من المعلومات.
  • حاول استعادة نسخة احتياطية لقاعدة بيانات معرفة أي "نظيفة" (لا أخطاء من CHECKDB) والوقت عندما تم مصادفة الخطأ تمتد تعرف النسخ الاحتياطية سجل المعاملات. يمكنك "تكرار" هذه المشكلة باستعادة نسخة احتياطية "نظيفة" من قاعدة البيانات والحركة إلى تسجيل ثم اتصل بالدعم الفني ل Microsoft للحصول على المساعدة.
  • أخطاء نقاء البيانات يمكن أن يكون مشكلة في التطبيق إدراج أو تحديث بيانات غير صحيحة في جداول ملقم SQL. لمزيد من المعلومات حول استكشاف الأخطاء وإصلاحها "نقاء بيانات" الأخطاء انظر المقالة التالية:2570 خطأ DBCC استكشاف الأخطاء وإصلاحها في SQL server 2005
معلومات أخرى

للحصول على تفاصيل حول بناء جملة DBCC CHECKDB وخيارات/معلومات حول كيفية تنفيذ الأمر، اقرأ الموضوع "كتب SQL Server عبر إنترنت" علىالأمر DBCC CHECKDB.

إذا تم العثور على أية أخطاء ب CHECKDB، ترد رسائل إضافية كما يلي في ERRORLOG لأغراض "التقرير عن الخطأ":

2010/03/31 استخدام spid53 22:07:06.34 'dbghelp.dll' الإصدار '4.0.5'
2010/03/31 22:07:06.35 spid53 * * تفريغ مؤشر الترابط-spid = 0، EC = 0x00000000855F5EB0
2010/03/31 22:07:06.35 spid53 * * * "تفريغ المكدس" إلى C:\Program مايكروسوفت SQL Server\MSSQL10.SQL2008\MSSQL\LOG\SQLDump0012.txt
2010-03-31 22:07:06.35 spid53      * *******************************************************************************
2010/03/31 22:07:06.35 spid53 *
2010/03/31 22:07:06.35 spid53 * "بدء تفريغ المكدس":
2010/03/31 22:07:06.35 spid53 * 31/03/10 22:07:06 spid 53
2010/03/31 22:07:06.35 spid53 *
2010/03/31 22:07:06.35 spid53 * تلف قاعدة بيانات DBCC
2010/03/31 22:07:06.35 spid53 *
2010/03/31 22:07:06.35 spid53 * 84 المخزن المؤقت للإدخال بايت-
2010/03/31 22:07:06.35 spid53 * dbcc checkdb(mydb)
2010/03/31 22:07:06.35 spid53 *
2010-03-31 22:07:06.35 spid53      * *******************************************************************************
2010-03-31 22:07:06.35 spid53      * -------------------------------------------------------------------------------
2010/03/31 22:07:06.35 spid53 * القصيرة تفريغ المكدس
2010/03/31 22:07:06.38 يتم "توقيع" التفريغ المكدس spid53 0x00000000000001E8
2010/03/31 عملية تفريغ الخارجية spid53 22:07:07.42 بإرجاع رمز 0x20002001.
تم إرسال معلومات الخطأ إلى التقرير عن الخطأ Watson.

تتضمن الملفات المستخدمة للإبلاغ عن الأخطاء سقلدومب < nnn > ملف.txt. قد يكون هذا الملف مفيداً لأغراض تاريخية أنه يحتوي على قائمة بالأخطاء التي تم العثور عليها من CHECKDB بتنسيق XML.

لمعرفة وقت آخر مرة تم تشغيل DBCC CHECKDB دون أخطاء لقاعدة بيانات (آخر معروف نظيف CHECKDB)، تحقق من SQL Server ERRORLOG لرسالة مثل التالية لقاعدة بيانات أو قاعدة بيانات النظام (تتم كتابة هذه الرسالة كرسالة "مستوى المعلومات" في تطبيق سجل أحداث Windows مع EventID = 17573):

2010/04/01 10:13:59.80 CHECKDB spid7s لقاعدة البيانات "الرئيسية" انتهى دون أخطاء في 22:11:11.417 2010-03-31 (بالتوقيت المحلي). هذه رسالة إعلامية فقط; مطلوب أي إجراء من المستخدم

ملاحظة هذه عبارة عن مقالة "للنشر العاجل" تم إنشاؤها مباشرةً من قِبل منظمة الدعم الخاصة بـ Microsoft. وتم توفير المعلومات الواردة بها كاستجابةً للمشكلات البارزة. وكنتيجة للاستعجال في إتاحة هذه المقالة، فقد تحتوى المواد الواردة بها على بعض الأخطاء المطبعية وقد يتم مراجعتها في أي وقت بدون إشعار بذلك. راجع شروط الاستخدام لمعرفة الاعتبارات الأخرى.

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

خصائص

رقم الموضوع: 2015748 - آخر مراجعة: 05/07/2014 09:29:00 - المراجعة: 1.0

Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbmt KB2015748 KbMtar
تعليقات