none
שחזור אוטומתי של מספר גיבוים מהרשת. RRS feed

  • שאלה

  • שלום לכולם.
    יש לי שרת SQL Server 2008 R2, שאליו אני מעוניין לשחזר מס' DBs מתיקית רשת על מנת לבדוק את תקינותם של קבצי הגיבוי. כתבתי סקריפט שממפה את התיקיה לכונן Z, מוציא את רשימת קבצי גיבוי שנמצאים בתיקיה, משחזר אותם אחד אחרי השני, ואז משחרר את כונן הרשת. הבעיה היא, יש לי מס' תת תיקיות בכונן שלי ובכל אחת מהן ישנם קבצי גיבוי נוספים. איך אפשר לסרוק את כונן ה-Z ולשחזר את כל הגיבוים, ולא רק את אלה שנמצאים ב-root שלו?

    יום שלישי 11 ספטמבר 2012 12:15

תשובות

  • מכיוון שלא אמרת איך כתבת את הסקריפט ובאיזו שפה.

    הנה לדוגמא שימוש בקובץ BAT

    FOR /F "tokens=*" %%G IN ('DIR /B /S c:\code\*.bak') DO echo "%%G"

    • הוצע כתשובה על-ידי haim fishner יום שלישי 11 ספטמבר 2012 18:59
    • סומן כתשובה על-ידי Ivan Radchenko יום רביעי 12 ספטמבר 2012 05:24
    יום שלישי 11 ספטמבר 2012 14:52

  • בנוסף לתשובה של tetiu, שמשום מה אני לא מצליח לבצע אותה אבל כנראה שהבעייה היא אצלי.

    מצאתי דרך חמודה גם כן להוציא את רשימת כל הקבצים בעלי סייומת בתיקייה/ובתתי התיקיות שלה ע"י הפקודה:

    dir z:\backups\*.bak /b /s >> C:\temp\test.txt

    פשוט לשנות את הנתיבים על פי הצורך....

    בברכה,


    חיים פישנר.

    • סומן כתשובה על-ידי Ivan Radchenko יום רביעי 12 ספטמבר 2012 05:23
    יום שלישי 11 ספטמבר 2012 18:59

כל התגובות

  • זאת לא בדיוק שאלה לDBA לדעתי אלא יותר לאנשי סיסטם וינדווס...

    אבל בכל מקרה לדעתי פשוט למצוא/לכתוב סקריפט בשפת SHEEL שמחזיר לך את כל שמות הקבצים עם הסיומת BAK לדוגמא תחת התקיית root ואז לעבור עליהם וליצור פקודת RESTORE.

    זה מה שאני הייתי עושה בכל אופן אם היה לי צורך בכך :)


    חיים פישנר.

    יום שלישי 11 ספטמבר 2012 13:10
  • מכיוון שלא אמרת איך כתבת את הסקריפט ובאיזו שפה.

    הנה לדוגמא שימוש בקובץ BAT

    FOR /F "tokens=*" %%G IN ('DIR /B /S c:\code\*.bak') DO echo "%%G"

    • הוצע כתשובה על-ידי haim fishner יום שלישי 11 ספטמבר 2012 18:59
    • סומן כתשובה על-ידי Ivan Radchenko יום רביעי 12 ספטמבר 2012 05:24
    יום שלישי 11 ספטמבר 2012 14:52

  • בנוסף לתשובה של tetiu, שמשום מה אני לא מצליח לבצע אותה אבל כנראה שהבעייה היא אצלי.

    מצאתי דרך חמודה גם כן להוציא את רשימת כל הקבצים בעלי סייומת בתיקייה/ובתתי התיקיות שלה ע"י הפקודה:

    dir z:\backups\*.bak /b /s >> C:\temp\test.txt

    פשוט לשנות את הנתיבים על פי הצורך....

    בברכה,


    חיים פישנר.

    • סומן כתשובה על-ידי Ivan Radchenko יום רביעי 12 ספטמבר 2012 05:23
    יום שלישי 11 ספטמבר 2012 18:59
  • מכיוון שלא אמרת איך כתבת את הסקריפט ובאיזו שפה.

    הנה לדוגמא שימוש בקובץ BAT

    FOR /F "tokens=*" %%G IN ('DIR /B /S c:\code\*.bak') DO echo "%%G"

    השפה היא T-SQL, סליחה ששכחתי לציין...

    בנוסף לתשובה של tetiu, שמשום מה אני לא מצליח לבצע אותה אבל כנראה שהבעייה היא אצלי.

    מצאתי דרך חמודה גם כן להוציא את רשימת כל הקבצים בעלי סייומת בתיקייה/ובתתי התיקיות שלה ע"י הפקודה:

    dir z:\backups\*.bak /b /s >> C:\temp\test.txt

    כן, זה בדיוק מה שאני צריך, תודה רבה! האמת שעשיתי את אותו הדבר, רק שהכנסתי את הפלט לטבלא המקום קובץ txt.* ולא הכרתי את מתג "s/", לכן הפקודה החזירה לי רק את הקבצים שב-root. עכשיו הרצתי את "?/ dir" וקראתי על כל המתגים, איך לא חשבתי על זה קודם? :)


    • נערך על-ידי Ivan Radchenko יום רביעי 12 ספטמבר 2012 05:28
    יום רביעי 12 ספטמבר 2012 05:01