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