סימפטום:

כשמשתמש DBCC CHECKDB עם REPAIR_ALLOW_DATA_LOSS פרמטר לתיקון מסד נתונים .MDF פגום, כך:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

אתה רואה את הודעת השגיאה הבאה:

תוצאות DBCC עבור 'xxxx'.
CHECKDB מצא 0 שגיאות הקצאה ו-0 שגיאות עקביות במסד הנתונים 'xxxx'.
Msg 824, רמה 24, המדינה 2, קו 8
SQL Server זיהה שגיאת קלט/פלט מבוססת עקביות לוגית: סכום בדיקה שגוי (צפוי: 0xea8a9a2f; בפועל: 0x37adbff8). זה התרחש במהלך קריאה של עמוד (1:28) במזהה מסד נתונים 39 ב-offset 0x00000000038000 בקובץ 'xxxx.mdf'. הודעות נוספות ב- SQL Server יומן שגיאות או יומן אירועי מערכת עשויים לספק פרטים נוספים. זהו מצב שגיאה חמור שמאיים על שלמות מסד הנתונים ויש לתקן אותו מיד. השלם בדיקת עקביות מלאה של מסד הנתונים (DBCC CHECKDB). שגיאה זו יכולה להיגרם מגורמים רבים; למידע נוסף, ראה SQL Server ספרים באינטרנט.

כאשר 'xxxx.mdf' הוא השם של קובץ ה-MDF הפגום המתוקן. למרות ש- CHECKDB אומר

CHECKDB מצא 0 שגיאות הקצאה ו-0 שגיאות עקביות במסד הנתונים 'xxxx'.

זו עדיין שגיאת עקביות (מסג 824) במסד הנתונים.

צילום מסך של הודעת שגיאה:

שגיאת קלט/פלט מבוססת עקביות לוגית: סכום ביקורת שגוי

אם השחיתות חמורה, יהיו הודעות שגיאה מתמשכות(מסג 824), כלהלן:

Msg 824, רמה 24, המדינה 6, קו 2 SQL Server זיהה שגיאת קלט/פלט מבוססת עקביות לוגית: סכום בדיקה שגוי (צפוי: 0x3d17dfef; בפועל: 0xd81748ef). זה התרחש במהלך קריאה של עמוד (1:0) במזהה מסד נתונים 39 בהיסט 0000000000000000 בקובץ 'xxxx.mdf'. הודעות נוספות ב- SQL Server יומן שגיאות או יומן אירועי מערכת עשויים לספק פרטים נוספים. זהו מצב שגיאה חמור שמאיים על שלמות מסד הנתונים ויש לתקן אותו מיד. השלם בדיקת עקביות מלאה של מסד הנתונים (DBCC CHECKDB). שגיאה זו יכולה להיגרם מגורמים רבים; למידע נוסף, ראה SQL Server ספרים באינטרנט.

Msg 824, רמה 24, המדינה 6, קו 4 SQL Server זיהה שגיאת קלט/פלט מבוססת עקביות לוגית: סכום בדיקה שגוי (צפוי: 0x3d17dfef; בפועל: 0xd81748ef). זה התרחש במהלך קריאה של עמוד (1:0) במזהה מסד נתונים 39 בהיסט 0000000000000000 בקובץ 'xxxx.mdf'. הודעות נוספות ב- SQL Server יומן שגיאות או יומן אירועי מערכת עשויים לספק פרטים נוספים. זהו מצב שגיאה חמור שמאיים על שלמות מסד הנתונים ויש לתקן אותו מיד. השלם בדיקת עקביות מלאה של מסד הנתונים (DBCC CHECKDB). שגיאה זו יכולה להיגרם מגורמים רבים; למידע נוסף, ראה SQL Server ספרים באינטרנט.

כאשר 'xxxx.mdf' הוא השם של קובץ ה-MDF הפגום המתוקן.

צילום מסך של הודעת שגיאה:

אם השחיתות חמורה יותר, אולי תראה מסג 7909 כדלקמן מסג 824:

תוצאות DBCC עבור 'xxxx'.
CHECKDB מצא 0 שגיאות הקצאה ו-0 שגיאות עקביות במסד הנתונים 'xxxx'.
Msg 824, רמה 24, המדינה 2, קו 8
SQL Server זיהה שגיאת I/O מבוססת עקביות לוגית: סכום בדיקה שגוי (צפוי: 0xcfcd2118; בפועל: 0x6fc599d6). זה התרחש במהלך קריאה של עמוד (1:1) במזהה מסד נתונים 39 ב-offset 0x00000000002000 בקובץ 'xxxx.mdf'. הודעות נוספות ב- SQL Server יומן שגיאות או יומן אירועי מערכת עשויים לספק פרטים נוספים. זהו מצב שגיאה חמור שמאיים על שלמות מסד הנתונים ויש לתקן אותו מיד. השלם בדיקת עקביות מלאה של מסד הנתונים (DBCC CHECKDB). שגיאה זו יכולה להיגרם מגורמים רבים; למידע נוסף, ראה SQL Server ספרים באינטרנט.
Msg 7909, רמה 20, המדינה 1, קו 8
התיקון במצב חירום נכשל. עליך לשחזר מגיבוי.

כאשר 'xxxx' הוא שם מסד הנתונים ו-'xxxx.mdf' הוא שם הקובץ הפיזי של מסד הנתונים.

הערות מסג 7909 היא שגיאה חמורה שעלולה להתרחש במצבים רבים בכל פעם SQL Server חושב שמסד הנתונים הוא מעבר לשחזור.

צילום מסך של הודעת שגיאה:

הסבר מדויק:

הנתונים בקובץ MDF מאוחסנים כ-8KB דפים. לכל עמוד יש שדה ביקורת אופציונלי.

אם הפקודה DBCC CHECKDB מוצאת את ערכי ה-checksum בדף הכותרת, בדף ה-PFS ובחלק מדפי הנתונים אינם חוקיים והיא לא יכולה לתקן את הבעיה, אז היא תדווח על שגיאה זו (מסג 824). אם השחיתות חמורה, עשויות להיות שגיאות מתמשכות(מסג 824) או בעקבות שגיאה נוספת(מסג 7909).

אתה יכול להשתמש במוצר שלנו DataNumen SQL Recovery כדי לשחזר את הנתונים מקובץ ה-MDF הפגום ולפתור שגיאה זו.

קבצים לדוגמה:

קבצי MDF פגומים לדוגמה שיגרמו לשגיאה (שגיאה יחידה של Msg 824):

SQL Server גרסה קובץ MDF פגום קובץ MDF תוקן על ידי DataNumen SQL Recovery
SQL Server 2014 Error1_3.mdf Error1_3_fixed.mdf

קבצי MDF פגומים לדוגמה שיגרמו לשגיאה (שגיאות Msg 824 מתמשכות):

SQL Server גרסה קובץ MDF פגום קובץ MDF תוקן על ידי DataNumen SQL Recovery
SQL Server 2014 Error1_1.mdf שגיאה1_1_fixed.mdf

קבצי MDF פגומים לדוגמה שיגרמו לשגיאה (שגיאה של Msg 824 ואחריה שגיאה של Msg 7909):

SQL Server גרסה קובץ MDF פגום קובץ MDF תוקן על ידי DataNumen SQL Recovery
SQL Server 2014 Error1_2.mdf Error1_2_fixed.mdf

 

הפניות:

1. https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-824-database-engine-error?view=sql-server-ver15