מי בכלל צריך דטבייס Full?

יום חמישי, יוני 25, 2015

בוודאי שצריך: ניתן לגבות דטבייס גיבויי Full (ללא קשר ל-Recovery Model Full), ובין לבין – גיבוי Diff של כל ה-Pages שהשתנו מאז הגיבוי המלא האחרון, כל זה ללא קשר להגדרת ה-Recovery Model;וניתן במקרה של Recovery Model Full לבצע גיבוי Log של השינויים מאז גיבוי ה-Log או ה-Full (המאוחר מבינהם).כדאי לשים לב שבמקרה של Diff, מדובר בכל השינויים מאז ה-Full האחרון, ולכן לצורך שיחזור יש צורך ב-Full האחרון וב-Diff האחרון שאחריו;ובמקרה של Log יש צורך ב-Full האחרון, ב-Diff האחרון, ובכל ה-Log שאחריו (או לחילופין – ב-Full האחרון ובכל ה-Log שאחריו ולהתעלם מה-Diff גם אם היו).היתרון של Full + Diff שניתן...
אין תגובות

תיעוד של כל הגיבויים והשיחזורים בשרת

יום ראשון, מאי 24, 2015

לא כולם יודעים, אבל כל הגיבויים והשיחזורים (Backup & Restores) שהתבצעו בשרת, מתועדים בטבלאות ב-msdb.(נו טוב: אני לא ידעתי, כולם כן ידעו, ואני עוד רץ לספר על זה לחבר’ה וממיט על עצמי קלון..)נתחיל מהסוף- הנה דוגמה לסקריפט שימושי עם פרטים לגבי הגיבויים: Select S.backup_start_date, S.backup_finish_date, DateDiff(Minute,S.backup_start_date,S.backup_finish_date) Minutes, Case S. When 'I' Then 'Diff' When 'D'...
תגיות: , , ,
אין תגובות

Recovery Models

יום שני, פברואר 27, 2012

פוסט זה עוסק בדרך בה ניתן לגבות את הדטבייסים ולשחזר אותם בכפוף לאופן בו הם מוגדרים. אנחנו אמורים לכלכל מעשינו כך שכשקורית תקלה במערכת המידע- נהיה ערוכים לקראתה במידת האפשר, ונהיה מסוגלים להחזיר את המערכת לפעולה תקינה במהירות סבירה. כמובן שלכל דבר יש מחיר במשאבים, ביצועים, עבודה וכו'; ומנגד הצרכים יכולים לנוע בין מערכות קריטיות שאסור בשום פנים ואופן שיושבתו לבין כאלו שחשיבותן שולית ואין צורך להקדיש להן תשומת לב מיוחדת. לצורך כך יש טכנולוגיות שונות שבהן מככבים מושגים כמו High Availability (מניעת השבתה של המערכת), Data Recovery (התאוששות מהירה במקרה של תקלה) ועוד. ...

Cursor ללא Cursor

יום שבת, ספטמבר 11, 2010

השימוש ב-Cursor הוא דרך המלך למשימות שלא ניתן לבצע בכלים הסטנדרטיים של SQL, למשל – כפי שיודגם להלן – גיבוי כל הדטבייסים בשרת שאינם System Databases. הפתרון הסטנדרטי בעזרת Cursor הוא כזה: Declare @S Varchar(Max), @SQL Varchar(Max); Declare Cr Cursor For Select name From sys.databases Where name Not In ('master','tempdb','model','msdb'); Open Cr; Fetch Cr Into @S; While @@Fetch_Status = 0 Begin Set @SQL='Backup Database '+@S+' To Disk = ''C:\Tmp\'+@S+'.bak'';'; Print @SQL; Exec(@SQL); Fetch Cr Into @S; End Close...
אין תגובות