סימפטום:

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

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

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

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

ריק

הסבר מדויק:

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

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

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

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

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

SQL Server גרסה קובץ MDF מושחת קובץ MDF קבוע על ידי DataNumen SQL Recovery
SQL Server 2014 שגיאה 1_3.mdf שגיאה 1_3_fixed.mdf

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

SQL Server גרסה קובץ MDF מושחת קובץ MDF קבוע על ידי DataNumen SQL Recovery
SQL Server 2014 שגיאה 1_1.mdf שגיאה 1_1_fixed.mdf

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

SQL Server גרסה קובץ MDF מושחת קובץ MDF קבוע על ידי DataNumen SQL Recovery
SQL Server 2014 שגיאה 1_2.mdf שגיאה 1_2_fixed.mdf

 

הפניות:

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