איך להגדיר גיבוי מתוזמן של ה DATABASES שלך בסביבת MSSQL SERVER EXPRESS.

בתאריך 13 ינואר, 2011

הגדרת גיבויים מתוזמנים על בסיס יומי, שעתי וכו... בשרת SQL SERVER היא מאוד חשובה על מנת לא לאבד את המידע השמור בDATABASE במקרה של כשל מערכתי וצורך לשחזור המידע. על מנת להגדיר גיבויים מתוזמנים ב SQL SERVER יש צורך בתוסף של SQL SERVER AGENT שהוא SERVICE בתוך מערכת של SQL SERVER. אך שרתים המותקנים בגרסת .MSSQL SERVER EXPRESS EDITION שהיא הגרסה החינמית של SQL SERVER לא מקבלים את הAGENT כחלק מההתקנה ולכן לא יכולים להגדיר משימות מתוזמנות כגון גיבויים.

איך להגדיר גיבוי מתוזמן של ה  DATABASES שלך בסביבת MSSQL SERVER EXPRESS.

מבוא:

הגדרת גיבויים מתוזמנים על בסיס יומי, שעתי וכו... בשרת SQL SERVER היא מאוד חשובה על מנת לא לאבד את המידע השמור בDATABASE במקרה של כשל מערכתי וצורך בשחזור המידע.

על מנת להגדיר גיבויים מתוזמנים ב SQL SERVER יש צורך בתוסף של SQL SERVER AGENT שהוא SERVICE בתוך מערכת של SQL SERVER.
אך שרתים המותקנים בגרסת .MSSQL SERVER EXPRESS  EDITION שהיא הגרסה החינמית של SQL SERVER לא מקבלים את הAGENT כחלק מההתקנה ולכן לא יכולים להגדיר משימות מתוזמנות כגון גיבויים.
על מנת להתגבר על מכשול זה ולאפשר את הגיבויים החשובים, ישנה אפשרות לכתוב SCRIPT שמבצע את פעולת הגיבוי, קובץ תוכנית שמריץ את הSCRIPT בעזרת כלים של SQL SERVER ולתזמן את התוכנית בעזרת מתזמן המשימות של WINDOWS.
 
 
להלן התהליך שנידרש לבצע על מנת להגדיר את הגיבוי המתוזמן:
1. נגדיר ספריה באחד הכוננים המקומיים בשרת. למשל בשם SQLBACKUP
 
2. נייצר קובץ טקסט שיכיל את הפקודה המגבה את ה DATABASES של השרת ונשמור אותו באותה ספריה. למשל בשם:
SQLExpressBackupScript.txt
הקובץ יכיל לדוגמא:
BACKUP DATABASE [projectsSQL] TO  DISK = N'D:\SQLBackup\projectsSQL.bak' WITH NOFORMAT, NOINIT, 
NAME = N'projectsSQL-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
 
את פקודת הגיבוי ניתן לשלוף ישירות מ SQL SERVER דרך הDIALOG של BACK UP DATABE ולחיצה על כפתור SCRIPT (ראה תמונה מצורפת).
 
3. נייצר קובץ הרצה עם סיומת .CMD ונשמור אותו באותה ספריה. למשל בשם SQLDBBackup.cmd
 
קובץ זה ישתמש בכלי OSQL של SQL SERVER המאפשר להריץ פקודות ישירות על השרת.
הקובץ יכיל לדוגמא:
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\OSQL.EXE" -S OFFICE-PC1\SQLEXPRESS1  -U sa -P 1ab1c -i
"D:\SQLBackup\SQLExpressBackupScript.txt" -o "D:\SQLBackup\SQLExpressBackupScriptOutput.out"

אלא הם הפרמטרים  הנדרשים:
S- מגדיר את שם השרת של SQL SERVER כפי שמופיע בSQL MANAGMENT STUDIO
-U שם המשתמש ב SQL SERVER שיש לו הרשאת גיבוי
-P ססמת המשתמש
-i שם הקובץ עם הPATH המלא שמכיל את הפקודה המגבה את ה DATABASES. (סעיף 2)
-o קובץ OUTPUT עם הPATH המלא שיווצר בזמן ריצת הפקודה וישמש לכתיבה של תוצאת הפקודה אם הצליחה או נכשלה.
 
4.  נתזמן את הריצה של הקובץ עם סיומת הCMD בתןך מתזמן המשימות של WINDOWS כפי שמתאים לנו. (ראה תמונה מצורפת).
 
בכל שאלה ניתן ליצור קשר עם חברתנו ונישמח לסייע.
בהצלחה
 
אלי פרלמוטר.
מנהל תחום תוכנה
אקזיT מערכות.
איך להגדיר גיבוי מתוזמן של ה  DATABASES שלך בסביבת MSSQL SERVER EXPRESS.
מאמרים נוספים...