
04-03-2010, 14:39
|
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,778
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי danielys86 שמתחילה ב "Sqlwrite service מתנגש עם שירות של shadow copy"
לא ניתן לגבות DB תוך כדי שהוא פועל בלי לבצע הקפאה סימולטנית של כתיבת שינויים מכל התקני האחסון שבהם ה DB משתמש - תוך וידוא שקודם להקפאה כל הפעולות שצריכות להסתיים, אכן הסתיימו.
כדי לעשות את זה, תוכנות גיבוי שמודעות לכך (אלו שלא, "יצליחו" לגבות, אבל מסד הנתונים לא יעבור אחרי זה בדיקת consistency אם תשחזר אותו בגלל שזה דומה למצב שבו ניתקת את החשמל מהשרת ללא הורדה מסודרת) - מודיעות לתוכנת מסד הנתונים להקפיא פעילות לחלוטין, לשמור לדיסק את כל מה שנשאר להן לשמור, ולהודיע בחזרה כשהן מסיימות. אחרי שתוכנת הגיבוי מקבלת את ההודעה הזו, היא משתמשת במכניזם של מערכת ההפעלה כדי לשמור צילום (snapshot) של המידע בדיסק בנקודת זמן מדוייקת (Point In Time) - שבה אנחנו יודעים בוודאות שהמידע בכל מסד הנתונים הוא קונסיסטנטי, כי מסד הנתונים אישר זאת. לאחר יצירת ה snapshot בהצלחה מכל ה volume-ים המקיימים את מסד הנתונים, תוכנה הגיבוי מודיעה למסד הנתונים שהוא יכול להמשיך לבצע את פעילותו כרגע, ואז הוא ממשיך. כל הפעולה הנ"ל לוקחת בד"כ שניות בודדות לכל היותר. לאחר מכן תוכנת הגיבוי מגבה מה snapshot, ולא את מסד הנתונים החי.
במקרה שלך, על פי הודעת השגיאה (ולא מנסיון כלשהוא שיש לי), נראה שלפחות חלק (אם לא כל) ה volume־ים שעליהם יושב מסד הנתונים, אינם תומכים בפיצ'ר של ה snapshot (המכונה בעולמה של מיקרוסופט "Volume Shadow Copy" - פשוט משום ש snapshot זו מילה מובנת, אז היו חייבים לסבך) - וכיוון שכך, תוכנת הגיבוי לא מצליחה לקבל snapshot קונסיסטנטי של כל מסד הנתונים ברגע נתון, ולכן נכשלת ומודיעה לך על כך.
|