- אובדן נתונים הוא בעיה נפוצה, אך אנו נראה לך כיצד לתקן מסד נתונים פגום ב-SQL Server.
- בעיה זו יכולה לנבוע מהחלפה פשוטה או מחיקת קבצים בשוגג לזיהומים וירוסים ותצורה שגויה.
- התקלה בכונן האחסון עלולה לגרום גם לפגיעה בקבצים וזה כולל את מסד הנתונים של ה-SQL שלך.
כמובן, זה מתסכל לגלות מסד נתונים פגום ב-SQL Server שלך מסיבות ברורות. אינך יכול לגשת למידע והעבודה שלך מגיעה לנקודה.
עם זאת, ישנן דרכים רבות לתקן את הבעיה באמצעות פתרונות ידניים או באמצעות כלי חכם וייעודי של צד שלישי הנקרא ארגז כלים לשחזור עבור SQL Server.
אבל לפני שמתחילים בפתרון הבעיות, בואו נבין ונחקור מעט מדוע הבעיה הזו מתרחשת מלכתחילה.
מהו שרת SQL וכיצד נוכל לזהות את מסד הנתונים?
שרת SQL היא מערכת מסד נתונים, שפותחה על ידי מיקרוסופט, המשמשת לניהול, אחסון ואחזור נתונים על ידי יישומים אחרים.
ישנם שלושה סוגים של קבצים לאחסון וניהול נתונים ב-SQL Server: קבצים ראשיים (עם סיומת .MDF), קבצים משניים (עם סיומת .NDF) וקובצי יומן (עם סיומת .LDF).
אנו מעוניינים במיוחד באותם קבצי MDF מכיוון שאלו הם אלו המספקים את אחסון מסד הנתונים.
מדוע מסד נתונים פגום ב-SQL Server?
ישנן הרבה סיבות אפשריות מדוע מסד הנתונים של שרת ה-SQL שלך יכול להיפגם, החל מהחלפה פשוטה או מחיקת קבצים בשוגג וכלה בהדבקות וירוסים ותצורה לא נכונה.
בואו נעבור על כמה מהגורמים הנפוצים ביותר לבעיה זו:
- החלפת קובץ - אם אתה כותב בטעות על קובץ MDF קיים אתה מסתכן בפגיעה במסד הנתונים
- מנסה לפתוח את מסד הנתונים של SQL - אם אתה שכחת את סיסמת SQL והזן אותו שגוי יותר מדי פעמים, זה יכול להוביל ל-SQL Server Corruption
- כשל בכונן האחסון שלך - מובן מאליו שתקלה בכונן עלולה לייצר פגיעה בקבצים, כולל מסד הנתונים
- בעיות בתצורת מסד נתונים של SQL - אם תצורת SQL משתנה, זה יכול להשבית את הגישה לקבצי MDF
- הדבקת וירוס - זוהי בעיה נפוצה לכל פגימה בקבצים, לא רק בקבצי מסד הנתונים של SQL וגם אם תסיר את הווירוס באמצעות האנטי-וירוסים הטובים ביותר, למרבה הצער, אתה עדיין עלול לאבד כמה נתונים
- באגים פנימיים של SQL - למרות שזה פתרון חזק, ייתכן שעדיין יש לו באגים שיכולים לגרום לשחיתות קבצי MDF
עם זאת, עקוב אחר המדריך שלנו שלב אחר שלב כדי ללמוד כיצד לתקן קובץ מסד נתונים של SQL בשרת SQL.
כיצד אוכל לתקן מסד נתונים פגום ב-SQL Server?
פתק
פתק: לפני שתתחיל משהו, בצע גיבוי של ספריית SQL.
1. הפעל מחדש את שרת SQL
- פתח מסוף והזן את הפקודה הבאה כדי לעצור את שרת SQL:
systemctl mysql עצור
- כדי לבדוק את המצב של שרת SQL, הקלד את הפקודה הבאה ולחץ להיכנס:
סטטוס mysql.service
- כעת הפעל מחדש את שרת SQL על ידי ביצוע הפקודה הבאה בטרמינל:
הפעל מחדש את mysql.service
לפעמים, אתה יכול לפתור את הבעיה רק על ידי הפעלה מחדש של שרת SQL. כמובן, זה לא עובד בכל פעם אבל זה כל כך קל לביצוע שלא יזיק לבצע.
2. תיקון שולחן פגום
- הפעל את שרת SQL.
- הקלד את הפקודה הבאה ולחץ להיכנס להפעיל את זה:
Check TABLE name_of_the_table;
- אם הוא מזהה בעיות כלשהן בטבלה, הקלד את הפקודה הבאה ולחץ להיכנס:
REPAIR TABLE name_of_the_table;
ה-REPAIR TABLE יעזור לך לתקן טבלה ואתה יכול לעשות את אותו הדבר עבור כל פגום אחר, אבל בדרך זו, אתה עלול לאבד כמה נתונים מהטבלה.
3. השתמש בפקודה mysqlcheck
- פתח מסוף והקלד או הדבק את הפקודה הבאה כדי להגיע לתיקיית מסד הנתונים ולחץ להיכנס:
cd /var/lib/mysql
- כעת, הקלד את הפקודה הבאה כדי לבדוק טבלה ולחץ להיכנס. הקפד להחליף ו עם השמות האמיתיים:
mysqlcheck
- אם אתה מקבל את ההודעה שהטבלה פגומה, הקלד את הפקודה הבאה כדי לתקן אותה ולחץ להיכנס:
mysqlcheck -r
4. השתמש בפקודות ALTER TABLE
- הקלד את הפקודה הבאה כדי לבדוק את סוג הטבלה שלך (במקרה שלנו, זו טבלה MyISAM):
הצג צור טבלה
;
- כדי לבנות מחדש את הטבלה, הקלד את הפקודה הבאה ולחץ להיכנס:
שינוי טבלה
מנוע = MyISAM;
- אם יש לך מסד נתונים של InnoDB, הקלד את הפקודה הבאה במקום זאת:
שינוי טבלה
ENGINE = InnoDB;
- הורד והתקן את Microsoft SQL Server 2019
- תוכנת הגיבוי הטובה ביותר לשרת SQL [בחינם ובתשלום]
- כיצד לאבטח מסד נתונים של שרת SQL
5. תקן את מסד הנתונים באמצעות Recovery Toolbox עבור SQL Server
- עבור אל הדף הייעודי של Recovery Toolbox for SQL Server ולחץ על הורד לַחְצָן.
- התקן את האפליקציה לאחר בחירת השפה וקבלת הסכם הרישיון.
- נְקִישָׁה סיים כדי להפעיל את כלי התיקון של SQL Server MDF.
- בחר את הפגום *.mdf הקובץ על ידי לחיצה על סמל תיקיית המקור.
- לאחר שבחרת בו, לחץ על הַבָּא לַחְצָן.
- כעת תוכל לצפות בתצוגה מקדימה של הנתונים שניתן לאחזר ממסד הנתונים הפגום של Microsoft SQL Server. לחץ על הבא בחלון כלי השחזור של Microsoft SQL MDF כדי להתחיל בתהליך.
- כעת, אתה רק צריך לבחור את שיטת ייצוא הנתונים. אתה יכול לשמור את זה בתור סקריפטים של SQL לדיסק ואפילו לבצע את סקריפט SQL ישירות על מסד הנתונים.
- לבסוף, בחר אילו נתונים לשמור ולחץ עליהם התחל גיבוי.
אז זה כיצד לתקן קבצי מסד נתונים של שרת SQL עם הכלי הפשוט והיעיל הזה. כפי שאתה יכול לראות, זה יעשה את העבודה הרבה יותר מהר.
ה כלי שחזור שרת MS SQL יעזור לך גם אם אתה מתמודד עם הבעיות הבאות במסד הנתונים של MDF:
- שגיאה 5172 של Microsoft SQL Server – המאפיין FILE SIZE שגוי
- SQL Server זוהה שגיאת I/O מבוססת עקביות לוגית - זהו Checksum שגוי, הידוע גם בשם שגיאה 824 ב-SQL Server
- לדף הקצאת אינדקס (IAM) מצביע המצביע הבא של דף IAM - זו בעיה די נפוצה
- שגיאת קלט/פלט, מזהה עמוד שגוי, זוהה בעת קריאה ב-offset 0x###### בקובץ FileName.mdf - זה לא מופיע לעתים קרובות אבל אתה עדיין יכול לתקן את זה עם הכלי הקטן הזה
- נראה שהקובץ נחתך על ידי שגיאת מערכת ההפעלה - ככל הנראה נגרם מבעיית תצורה
- אירעה שגיאה במזהה רישום יומן - זה מתרחש במהלך ביצוע מחדש של פעולה שנרשמה במסד הנתונים
למעשה, עם Recovery Toolbox for SQL Server תקן את כל האובייקטים של קבצי .mdf פגומים, כולל סוגי נתונים, טבלה נתוני תאים, תצוגות, נהלים מאוחסנים, פונקציות מותאמות אישית, טריגרים, אינדקסים, מפתחות ראשיים וזרים, הגבלות ו אחרים.
והיתרון הגדול הוא שאתה יכול לייצא את הנתונים שתוקנו ישירות ל-Microsoft SQL Server בצורה חלקה מהאפליקציה.
זהו זה! כעת אתה יודע כיצד לתקן את מסד הנתונים של SQL Server שלך באופן ידני או באמצעות כלי ייעודי.
אם אתה מכיר שיטות נוספות או שיש לך שאלות כלשהן, אנו מחכים להן בסעיף ההערות למטה.