דף הבית » איך ל » גיבוי ושחזור מסד הנתונים של SQL Server משורת הפקודה

    גיבוי ושחזור מסד הנתונים של SQL Server משורת הפקודה

    החלק החשוב ביותר של תוכנית תחזוקה של SQL Server הוא גיבוי מסדי הנתונים שלך באופן קבוע. כדי לגבות מסד נתונים, אתה לא יכול פשוט להעתיק את MDF בהתאמה קבצי LDF של מסד הנתונים כמו SQL Server יש לנעול על אלה. במקום זאת, עליך ליצור קובץ גיבוי אמיתי באמצעות SQL Server.

    אמנם זה יכול להיעשות על ידי פיתוח תוכנית תחזוקה בתוך SQL Management Studio, המהדורה המהירה של SQL Server לא מציעים ממשק זה. כדי לעקוף את זה, אתה יכול בקלות גיבוי מסדי הנתונים שלך על ידי הפעלת הפקודה למטה כאשר מחובר כמנהל Windows:

    SqlCmd -E -S Server_Name -Q "DATABASE גיבוי [Name_of_Database] ל- DISK =" X: PathToBackupLocation [Name_of_Database] .bak ""

    הדוגמאות הבאות יעזרו.

    ברירת מחדל של SQL Server למשל:

    SqlCmd -E -S MyServer -Q "גיבוי DATABASE [MyDB] לדיסק =" D: BackupsMyDB.bak ""

    שם של SQL Server:

    SqlCmd -E -S MyServerMyInstance -Q "גיבוי DATABASE [MyDB] לדיסק =" D: BackupsMyDB.bak ""

    האמור לעיל ליצור גיבוי גיבוי לשחזור מלא של "MyDB" לקובץ "D: BackupsMyDB.bak" אשר ניתן להשתמש בהם להתאוששות מאסון. כמובן, אתה יכול לשנות את מיקום הגיבוי ואת הקובץ לכל מה שאתה צריך, אבל הקפד לציין מיקום תיקיה אשר קיים במחשב המקומי. לאחר מכן ניתן להעתיק קובץ גיבוי זה לכונן קלטות או למיקום גיבוי חיצוני אחר.

    שאלה נפוצה היא "האם ניתן ליצור קובץ גיבוי לכונן ממופה או למיקום UNC?" והתשובה המהירה היא לא. הסיבה לכך היא כי SQL Server Windows Service פועל כחשבון משתמש אשר רק יש גישה למכונה המקומית. אתה יכול לשנות את חשבון השירות פועל, אבל זה מאוד discouraged מטעמי אבטחה.

    שחזור גיבוי מסד נתונים משורת הפקודה

    כדי לשחזר מסד נתונים מקובץ גיבוי, פשוט השתמש בפקודה:

    SqlCmd -E -S Server_Name -Q "שחזור DATABASE [Name_of_Database] מתוך DISK =" X: PathToBackupFile [File_Name] .bak ""

    לדוגמה:

    SqlCmd -E -S MyServer -Q "שחזור DATABASE [MyDB] מתוך דיסק =" D: BackupsMyDB.bak ""

    הפקודה לעיל תשחזר גיבוי של "MyDB" מן הנתונים המאוחסנים בקובץ הגיבוי "D: BackupsMyDB.bak". כל השינויים שבוצעו ב- MyDB מאז יצירת קובץ הגיבוי יאבדו.

    דבר חשוב לזכור בעת שימוש בפקודה לעיל היא כי הוא נועד לשמש ב- SQL Server אותו קובץ הגיבוי בהתאמה נוצר על. קבצי SQL גיבוי לאחסן "מאחורי הקלעים" מידע לשלוט היכן ואיך קבצי הנתונים בקובץ הגיבוי מועתקים. אם אתה משחזר גיבוי משרת SQL אחר, ייתכן שמיקומי הנתיב בקובץ הגיבוי אינם תואמים את השרת שאליו אתה משחזר ותוצג שגיאה. אמנם זה יכול להיות עבד מסביב, זה הרבה יותר קל לשחזר גיבויים שנוצרו על SQL Server אחר באמצעות כלי SQL Management Studio.

    הערה: הפקודות לעיל יעבדו על SQL 2005 ואילך (כל מהדורה). עבור SQL 2000 ואילך, החלף את 'SqlCmd' עם 'oSql'.