כשאתה משתמש במיקרוסופט SQL Server כדי לצרף קובץ מסד נתונים MDF פגום או לגשת אליו, תראה הודעות שגיאה שונות, שעשויות להיות קצת מבלבלות בעיניך. לכן, כאן ננסה לרשום את כל השגיאות האפשריות, הממוינות לפי התדירות המתרחשת שלהן. עבור כל שגיאה נתאר את הסימפטום שלו, נסביר את הסיבה המדויקת שלו וניתן קבצי דוגמה וכן את הקובץ שתוקן על ידי שלנו DataNumen SQL Recovery, כדי שתוכלו להבין אותם טוב יותר. להלן נשתמש ב- 'xxx.MDF' לביטוי המושחת שלך SQL Server שם קובץ מסד הנתונים MDF.
בהתבסס על SQL Server או הודעות שגיאה CHECKDB, ישנם שלושה סוגים של שגיאות שיגרמו לכישלון:
-
- שגיאות הקצאה: אנו יודעים שהנתונים בקבצי MDF ו- NDF מוקצים כ- דפים. ויש כמה דפים מיוחדים המשמשים לניהול הקצאות, כדלקמן:
סוג עמוד | תיאור |
דף GAM | אחסן מידע על מפת הקצאות גלובלית (GAM). |
עמוד SGAM | אחסן מידע על מפת הקצאות גלובלית משותפת (SGAM). |
עמוד IAM | מידע על מפת הקצאת אינדקסים (IAM). |
עמוד PFS | אחסן מידע על הקצאת PFS. |
אם באחד מדפי ההקצאות לעיל יש שגיאות, או שהנתונים המנוהלים על ידי דפי הקצאה אלה אינם עולים בקנה אחד עם פרטי ההקצאה, אז SQL Server או CHECKDB ידווח שגיאות הקצאה.
- שגיאות עקביות: כדי להתאים דפים המשמשים לאחסון נתונים, כולל דפי הנתונים ודפי האינדקס, אם SQL Server או CHECKDB ימצאו חוסר עקביות בין תוכן העמוד לבדיקת הבדיקה, ואז הם ידווחו שגיאות עקביות.
- כל שגיאות אחרות: יכולות להיות שגיאות אחרות שלא מתחלקות לשתי הקטגוריות הנ"ל.
- xxxx.mdf אינו קובץ מסד נתונים ראשי. (מיקרוסופט SQL Server, שגיאה: 5171)
- הכותרת לקובץ 'xxxx.mdf' אינה כותרת קובץ מסד נתונים חוקית. המאפיין FILE SIZE שגוי. (Microsoft SQL Server, שגיאה: 5172)
- SQL Server זיהה שגיאת קלט / פלט מבוססת עקביות: סכום בדיקה שגוי
- SQL Server זיהה שגיאת קלט / פלט מבוססת עקביות לוגית: דף קרוע
- אתה מוחק כמה רשומות או טבלאות במסד נתונים בטעות.
SQL Server יש כלי מובנה שנקרא DBCC, שיש CHECKDB ו ניתן לבדוק אפשרויות שיכולות לעזור בתיקון מסד נתונים MDF מושחת. עם זאת, עבור קבצי מסדי נתונים MDB שנפגעו קשה, DBCC CHECKDB ו ניתן לבדוק גם ייכשל.
שגיאות עקביות שדווחו על ידי CHECKDB:
- SQL Server זיהה שגיאת קלט / פלט מבוססת עקביות: סכום בדיקה שגוי
- בשורה ב- sys.xxx אין שורה תואמת ב- sys.xxx.
- שגיאת טבלה: מזהה האובייקט ##, מזהה האינדקס ## יבנה מחדש.
- לא ניתן ליצור מחדש את אינדקס טבלת המערכת.
- מזהה אובייקט ##, מזהה אינדקס ##, מזהה מחיצה ##, מזהה יחידת הקצה ## (סוג לא ידוע), מזהה דף (##: 560) מכיל מזהה עמוד שגוי בכותרת העמוד שלו.
שגיאות הקצאה שדווחו על ידי CHECKDB:
- הדף מפת הקצאת אינדקסים (IAM) מצביע על ידי המצביע הבא של דף ה- IAM
- היקף (##: ##) במזהה מסד הנתונים ## מסומן כמוקצה ב- GAM, אך אף SGAM או IAM לא הקצו אותו.
כל שגיאות אחרות שדווחו על ידי CHECKDB:
- נכשל: (- #######) ביצוע השאילתה "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" נכשלה עם השגיאה הבאה: "xxxx".
- שגיאת קלט / פלט (מזהה דף רע) זוהתה במהלך קריאה בקיזוז 0x ###### בקובץ 'xxxx.mdf'.
- המערכת לא הצליחה להפעיל מספיק את מסד הנתונים כדי לבנות מחדש את היומן
- אובדן נתונים בעת תיקון באמצעות CHECKDB
- נראה שהקובץ נחתך על ידי מערכת ההפעלה.
- במהלך ביצוע פעולה מחודש מחדש במסד הנתונים 'xxxx', אירעה שגיאה במזהה רשומת היומן.