גיבוי MSDE ע"י ARCSERVE

dneebrkr

New member
גיבוי MSDE ע"י ARCSERVE

שלום, מערכת הגיבוי שלי מבוססת ARCSEREVE של CA עם Agents יעודיים ע"פ סוגי האפליקציות (לדוגמא Oracle ו SQLServer) ו Agents רגילים לתחנות עבודה. הבעיה שעל אחת מתחנות מותקנת אפליקציה מבוססת MSDE וכשפעולת הגיבוי נגשת לתיקיות המכילות את מסד הנתונים בתחנת העבודה המערכת לא מאפשרת זאת והגיבוי לא מושלם. האם יש אפליקציות צד-שלישי לניהול DB היכולות לתת פתרון בסגנון של ג'וב מתוזמן המיצא את הנתונים שב MSDE לקובץ נפרד שאותו יהיה ניתן לגבות? (כך אני עושה עם אחד משרתי ה SQLSERVER שלי, אני לא משתמש ב Agent היעודי של ARCSERVE) אני מקווה שאני בפורום הנכון אבל ליתר בטחון אשאל את אותה השאלה בפורום בסיסי נתונים. תודה
 

טופי

New member
כמו שכבר אמרת

אתה יכול להשתמש בAgent של BAB. כדי לשנות דברים בתוך הMSDE אתה צריך להתחבר עם Enterprise Manager אל הMSDE. אני לא בטוח, אבל אמורה להיות שם אופציה לגיבוי חם.
 

dneebrkr

New member
כן אבל הבעיה היא

שאין לי רשיונות ל Agent הספציפי ול MSDE אני לא מצליח להתחבר בשום צורה כנרה בגלל בעיית Authentication. חושב לציין שה MSDE המדובר הותקן יחד עם האפליקציה שעובדת איתו. האם יתכן שהגישה אליו מוקשחת בקוד ע"י האפליקציה עתמה כך שהוא לא ניתן לגישה דרך כלים חיצוניים?
 

Motel

New member
----->

SQL הוא SQL. אפשר בעזרת T-SQL לכתוב פונקציה שמגבה את ה-DB לקובץ c:\msdb.dat_bak אפשר לתזמן את הפקודה הזו גם דרך sp_add_jobschedule, או לכתוב אותה לקובץ ולהריץ אותו ע"י osql.
-- Backup job creation USE msdb EXEC sp_add_job @job_name = 'BackupJob', @enabled = 1, @description = 'BackupJob', @owner_login_name = 'sa', @notify_level_eventlog = 2, @notify_level_email = 2, @notify_level_netsend =2, @notify_level_page = 2 @notify_email_operator_name = 'myMailAddress' go -- Data backup USE msdb EXEC sp_add_jobstep @job_name = 'BackupJob', @step_name = 'msdb database backup', @subsystem = 'TSQL', @command = 'BACKUP DATABASE msdb TO DISK = ''c:\msdb.dat_bak''', @on_success_action = 3, @retry_attempts = 5, @retry_interval = 5 go -- Log file backup USE msdb EXEC sp_add_jobstep @job_name = 'myTestBackupJob', @step_name = 'msdb Log backup', @subsystem = 'TSQL', @command = 'BACKUP LOG msdb TO DISK = ''c:\msdb.log_bak''', @on_success_action = 1, @retry_attempts = 5, @retry_interval = 5 go -- Server specification USE msdb EXEC sp_add_jobserver @job_name = 'BackupJob', @server_name = N'(local)' -- Immediate job execution USE msdb EXEC sp_start_job @job_name = 'myTestBackupJob'​
 

antidot

New member
אתה אוהב לעבוד קשה, אה ?

ב MS SQL יש לך Maintenance Plan. ועבור MSDE, זה בטח רץ כ named instance וצריך לציין מפורשות את השם שלו בתוכנת הגיבוי.
 

Motel

New member
------->

הוא כתב שהוא לא מצליח להתחבר דרך Enterprise Manager. ניחא, זה החזיר אותי לימים שקצת עסקתי ב-SQL וקצת ב-tsql.
 

antidot

New member
המממ

ממתי מגבים בסיס נתונים שכולל transaction logs עם snapshot-ים ??? אתה בכח רוצה להביא את עצמך למצב של בסיס נתונים שלא ניתן לשיחזור ?
 
הממממ

ה DB שמגובה הוא קונסיסטנטי.. ברגע שיש גיבוי קורה ה Roll Forward של ה Transcation log.. לא כך?
 

Motel

New member
-------->

1. ברגע שמבוצע גיבוי דרך VDI, שרת SQL כותב ל-DB את כל הטרנסקציות הנוכחיות, עוצר את הכתיבה לדפים ומאפשר ל"צלם" את המצב הנוכחי של הדיסק. ה-meta data שנוצרת תוך כדי התהליך חיונית ביותר כדי לשחזר בהצלחה את המידע. 2. ה-Roll Forward, ידידי, מתרחש בשחזור ולא בגיבוי. 3. כל הדיון הזה מיותר לגמרי בהקשר של MSDE!
 

antidot

New member
------->

DB בהגדרה לא קונסיסטנטי כל עוד לא מתקיימים אחד מהשניים: - כל הטבלאות נעולות לכתיבה - המנוע לא מבצע commit לDB וכותב רק ל transaction logs (ובמקרה הזה אתה חייב לבצע checkpointing )
 

Motel

New member
המממ

וכמובן, consistent זה תנאי הכרחי, אבל לא תמיד מספק. למשל,מצב שיכול להגרם מכיבוי פתאומי או סגירה של ה-service : טרנסקציות שהיו באמצע הפעולה מבוטלות, כך שהמשתמשים יכולים לחשוב שהם סיפקו מידע ועבדו על משהו אבל השרת נאלץ לבצע rollback כדי להגיע למצב consistent.
 

Motel

New member
יש התקדמות קטנה

לפני חודש טענת שאין בכלל דבר כזה Snapshot, אתמול זה כבר "חשבתם על snapshot", ואפילו הגעת ל"הוטעתי". הוטעת כמו ש"RDP 5.1 יודע להתחבר רק ל Windows XP " ... כפי שכבר העירו לך: לפני שעונים בודקים.
 
???

תקשיב, שאלתי שאלה..כי אני באמת שמעתי על זה רק מכאן. ובכלל לא טענתי שאין דבר כזה Snapshot, שאלתי על מנת לקבל פרטים ומידע מהנסיון שלכם. זכרתי באותה התכתבות שאמרת לי שה DB קונסיסטנטי בעת Snapshot, ועכשיו טוענים דבר אחר.. אז מן הראוי שאביא ואציג את הבעיתיות שבדבר. אני לא מתכוון להכנס לרמה הנמוכה והציניות שבדבריך האחרים. לילה טוב. -------- בברכה, אביעד א.
 

antidot

New member
-------->

snapshot זאת מילה כללית. יש התקני איחסון שמסוגלים לבצע snapshot לDB תוך כדי שימוש בAPI רלוונטי כגון hot backup של Exchange. אם אתה מדבר על Volume Shadow Copy ספציפית, אזי למיטב ידיעתי VSS לא מבטיח קונסיסטנטיות של DB (התיעוד של DPM מציע להגדיר maintenance plan שמגבה את הDB לקובץ ולבצע shadow copies לקובץ גיבוי). אם אתה מדבר על NetApp עם SnapManager for SQL, אזי הגיבוי אכן קוסיסטנטי (פרטים: http://www.netapp.com/products/software/snapmanager-sql.html)
 

Motel

New member
!

אני דיברתי במפורש על גיבוי SQL בעזרת VDI Snapshot. הגיבוי בעזרת ה-API של VDI נותן תמיד DB במצב קונסיסטנטי.
 
למעלה