none
רפליקציה RRS feed

  • שאלה

  • כאשר מקימים רפליקציה בין שני שרתים, האם יש צורך לעצור עדכונים ל DB בשרת1 לבצע גיבוי וטעינה של הגיבוי בשרת2

    ואז להקים ביניהם רפליקציה, או שגם אם נוצר הפער בזמן העברת הגיבוי לשרת2 הוא יושלם?

    האם לצורך כך יש להגדיר שהלוג במצב FULL?

    תודה

    יום רביעי 21 נובמבר 2012 08:42

תשובות

  • הנעילה מתבצעת בסוף תהליך הSNAPSHOT, בשלב זה כל הטבלאות קיימות בצד השני אך הרפליקציה עדיין לא פעילה.

    מוצרף לינק לאתחול מגיבוי:

    http://gnawgnu.blogspot.com/2009/11/sql-2008-transactional-replication-and.html

    לגבי התגובה של ארז:

    רפליקציה וLOG SHIPPING הם מוצרים שונים לגמרי.

    אסף

    • הוצע כתשובה על-ידי EitanBlumin יום שני 26 נובמבר 2012 07:27
    • סומן כתשובה על-ידי pituachMVP, Editor יום חמישי 29 נובמבר 2012 15:46
    יום ראשון 25 נובמבר 2012 08:19

כל התגובות

  • היי,

    אין צורך לעצור את העדכונים, ברגע שאתה מייצר PUBLICATION חדש הלוג רידר שומר את כל השינויים בשבילך בDISTRIBUTER.

    ה-DB יכול להיות גם במצב SIMPLE.

    אסף

    יום רביעי 21 נובמבר 2012 10:50
  • אבל איך ברפליקציה הוא יודע איזה דלתה להעביר? הוא יודע רק לשמור החל מרגע הקמת הרפליקציה או שאני מבין לא נכון?
    יום רביעי 21 נובמבר 2012 11:06
  • כשאתה מקים את הPUBICATION אז מתעורר הLOG READER ומתחיל להעביר את כל הפקודות לDISTRIBUTER.

    אם זה אתחול מSNAPSHOT הוא מייצר או מוחק(אתה שולט בזה) לך את כל האובייקטים שבחרת ואז מכניס את הנתונים ויוצר את המפתח הראשי, בשלב זה הוא נועל את האובייקטים בPUBLICATION(יכול להיות מסוכן אם מדובר בטבלאות מאוד פעילות), בכל מקרה הוא יודע לנהל את הדלתא בצורה מושלמת.

    אם אתה מתכוון להתחיל את הרפליקציה מגיבוי אתה צריך לסמן את הALLOW INITIALIZATION FROM BACKUP FILES ורק אז לעשות גיבוי ולרסטר,הוא שומר את ה-LSN מהגיבוי ואז מכניס את הדלתא.

    מקווה שעזרתי לך,

    אסף

     

    יום רביעי 21 נובמבר 2012 12:27
  • מתי מתבצעת הנעלה ב PUBLICATION? רק כשהכל מבוצע ברמת ה SHANPSHOT? ללא שקיים טבלאות ונתונים בצד שני?

    איפה אני מסמן את "ALLOW INITIALIZATION FROM BACKUP FILES "?

    יום רביעי 21 נובמבר 2012 13:00
  • בהתייחסות לשאלה המקורית שלך,

    אתה יכול תמיד להשתמש בכלים צד ג' כגון Double-Take שמבצע Real Time Replication ל SQL. בשונה מרפליקציה אחרת כגון Log Shiping המבוססת Block Level, הרפליקציה של Double-Take מתבצעת ברמת Byte Level ושומרת על ה Consistancy של ה Data Base ב Real Time ללא שימוש ב SnapShots וללא עומס על שרת המקור. הרפליקציה עובדת על גבי WAN גם על קוים של 2mb, למעשה מספק לך Geo Cluster ללא דרישות קדם כגון Storage או שרתים זהים.

    אני מתמחה בפתרון הזה אז אם יש לך שאלות אתה מוזמן לפנות.

    ארז

    www.erezpaz.com

    יום חמישי 22 נובמבר 2012 19:35
  • הנעילה מתבצעת בסוף תהליך הSNAPSHOT, בשלב זה כל הטבלאות קיימות בצד השני אך הרפליקציה עדיין לא פעילה.

    מוצרף לינק לאתחול מגיבוי:

    http://gnawgnu.blogspot.com/2009/11/sql-2008-transactional-replication-and.html

    לגבי התגובה של ארז:

    רפליקציה וLOG SHIPPING הם מוצרים שונים לגמרי.

    אסף

    • הוצע כתשובה על-ידי EitanBlumin יום שני 26 נובמבר 2012 07:27
    • סומן כתשובה על-ידי pituachMVP, Editor יום חמישי 29 נובמבר 2012 15:46
    יום ראשון 25 נובמבר 2012 08:19
  • asafaviv עשיתי כמו במאמר, מה שקרה שהייתה פרוצדורת גיבוי (פרוצדורה שנשמרה בשם זמני ושנוצרה חדשה במקומה עם תיקונים),

    שהכילה פעולה לא תקינה שדורשת המרה (הדבר זוהה בזמן הרפליקציה אל מול הטבלה) ועקב כך הרפליקציה נכשלה, וכל הנתונים שהיו בטבלאות היעד נמחקו!

    למה זה קורה?איך אפשר להמנע מזה?

    יום ראשון 09 דצמבר 2012 14:45