דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. MDF גיבוי נתונים

MDF גיבוי נתונים

מתוזמן נעוץ נעול הועבר ארכיון code613m
38 פוסטים 6 כותבים 2.6k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    כתב ב נערך לאחרונה על ידי
    #17

    @דוד ל.ט.

    השחזור הוא שאילתה שלך וממילא אתה שולט על כל חלקיק עדכון (אתה יכול לשחזר רק רבע עמודה).

    את מתכוון לשאילתא כזו:

    UPDATE tblName
    SET column1=value1, column2=value2
    WHERE ID=1
    

    בשיטה הזו צריך ללכת ID אחר ID ושדה אחר שדה וזה מצויין כשרוצים לשחזר חלק מהרשומות, אבל האם יש דרך לשחזר טבלה שלמה בשאילתא אחת שתחליף את כל הרשומות הקיימות ברשומות שבטבלה מהגיבוי ?
    תודה.

    פורסם במקור בפורום CODE613 ב21/01/2014 22:54 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • clickoneC מנותק
      clickoneC מנותק
      clickone
      כתב ב נערך לאחרונה על ידי
      #18

      @רחמים

      @דוד ל.ט.

      השחזור הוא שאילתה שלך וממילא אתה שולט על כל חלקיק עדכון (אתה יכול לשחזר רק רבע עמודה).

      את מתכוון לשאילתא כזו:

      UPDATE tblName
      SET column1=value1, column2=value2
      WHERE ID=1
      

      בשיטה הזו צריך ללכת ID אחר ID ושדה אחר שדה וזה מצויין כשרוצים לשחזר חלק מהרשומות, אבל האם יש דרך לשחזר טבלה שלמה בשאילתא אחת שתחליף את כל הרשומות הקיימות ברשומות שבטבלה מהגיבוי ?
      תודה.

      פשוט תחליף את שם הטבלה :lol: :lol: :lol:

      פורסם במקור בפורום CODE613 ב21/01/2014 23:06 (+02:00)

      אין טסט כמו פרודקשן.

      המייל שלי urivpn@gmail.com

      תגובה 1 תגובה אחרונה
      1
      • רחמיםר מנותק
        רחמיםר מנותק
        רחמים מורחק
        כתב ב נערך לאחרונה על ידי
        #19

        תודה,
        ומה התשובה לזה:
        @רחמים

        רגע, איך עושים שאילתת INTO כאשר ה SELECT הוא מתוך MDF אחד, וה INTO צריך ליצור טבלה ב MDF אחר ?

        פורסם במקור בפורום CODE613 ב22/01/2014 08:07 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #20

          @רחמים

          בשיטה הזו צריך ללכת ID אחר ID ושדה אחר שדה וזה מצויין כשרוצים לשחזר חלק מהרשומות, אבל האם יש דרך לשחזר טבלה שלמה בשאילתא אחת שתחליף את כל הרשומות הקיימות ברשומות שבטבלה מהגיבוי ?
          תודה.

          כן.
          שאילתה די פשוטה.

          פורסם במקור בפורום CODE613 ב22/01/2014 11:17 (+02:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • רחמיםר מנותק
            רחמיםר מנותק
            רחמים מורחק
            כתב ב נערך לאחרונה על ידי
            #21

            @דוד ל.ט.

            כן.
            שאילתה די פשוטה.

            @ClickOne

            פשוט תחליף את שם הטבלה

            יש כמה דברים שמפריעים לכאורא:

            1. העמודה של ה ID היא אוטומטית כך שאי אפשר לתת לה ערך אלא רק המסד נותן ערך
            2. יש קשרי גומלין בחלק מהשדות
              וכל זה בטבלה המקורית אבל הטבלה שבגיבוי היא ללא קשרים וללא ערכים אוטומטיים, אז כאשר אני מנסה להכניס את של זה בזה אני מקבל שגיאות.

            דבר נוסף מן הסתם יש הבדל בכמות הרשומות בין הטבלה המקורית לבין טבלה שמהגיבוי וא''כ צריך להוסיף או למחוק רשומות ולא רק לעדכן.

            מהסיבות של קישרי הגומלין לא יכולתי לעשות את הפתרון שנתן ClickOne דהיינו למחוק את הטבלה הישנה ולתת לטבלה של הגיבוי את השם של הטבלה המקורית.

            גם עיינתי כאןולא ראיתי משהו שיכול לעזור.

            פורסם במקור בפורום CODE613 ב22/01/2014 16:03 (+02:00)

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #22

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

              בקשר לקישור שהבאת, יש שמה חידושים שיכולים לעזור מאוד לזה : http://stackoverflow.com/a/9241260/1271037

              פורסם במקור בפורום CODE613 ב22/01/2014 17:04 (+02:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              1
              • רחמיםר מנותק
                רחמיםר מנותק
                רחמים מורחק
                כתב ב נערך לאחרונה על ידי
                #23

                טוב, אז נלך במהלך ששחזור הוא יהיה מחיקת הטבלה המקורית ושינוי שם לטבלת הגיבוי, כעת אין לי בעיה עם ה ID וגם לא עם השורות יתרות או חסרות,

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

                2. ואם בשביל זה אני צריך לשנות את ההגדרות של הקשרי גומלין בכל הטבלאות המקשרות לטבלה המקורית, איך אני אעשה את זה, איך אדע באלו טבלאות מדובר ואיזה הגדרה צריך לשנות בקשר הגומלין?

                3. ואיך בכלל משנים הגדרות של קשרי גומלין בשפת SQL?

                4. ואחר שינוי השם של טבלת הגיבוי יהיה צריך גם להחזיר את ההגדרות של הקשרי גומלין בכל הטבלאות המקושורת.

                תודה לכולם!

                פורסם במקור בפורום CODE613 ב22/01/2014 18:30 (+02:00)

                תגובה 1 תגובה אחרונה
                0
                • רחמיםר מנותק
                  רחמיםר מנותק
                  רחמים מורחק
                  כתב ב נערך לאחרונה על ידי
                  #24

                  אז מצאתי את השאילתא הבאה כדי לקבל את כל הקשרי גומלין בהם הטבלה המקורית היא טבלת האב:

                  SELECT Main.TABLE_NAME AS ParentTable, Child.TABLE_NAME AS ChildTableName, Cons.COLUMN_NAME AS PKey_Column, RefCons.COLUMN_NAME AS ReferencingColumnName, 
                              rc.CONSTRAINT_NAME AS FK_NAME
                  FROM  INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS Child INNER JOIN
                              INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS rc ON rc.CONSTRAINT_SCHEMA = Child.CONSTRAINT_SCHEMA AND 
                              rc.CONSTRAINT_NAME = Child.CONSTRAINT_NAME INNER JOIN
                              INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS Main ON Main.CONSTRAINT_SCHEMA = rc.UNIQUE_CONSTRAINT_SCHEMA AND 
                              Main.CONSTRAINT_NAME = rc.UNIQUE_CONSTRAINT_NAME INNER JOIN
                              INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS RefCons ON RefCons.CONSTRAINT_SCHEMA = Child.CONSTRAINT_SCHEMA AND 
                              RefCons.CONSTRAINT_NAME = Child.CONSTRAINT_NAME INNER JOIN
                              INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS Cons ON Cons.CONSTRAINT_SCHEMA = Main.CONSTRAINT_SCHEMA AND 
                              Cons.CONSTRAINT_NAME = Main.CONSTRAINT_NAME
                  WHERE (Main.TABLE_NAME = N'שם הטבלה המקורית')
                  

                  עריכה:
                  שיפצתי משמעותית את השאילתא.

                  פורסם במקור בפורום CODE613 ב22/01/2014 18:46 (+02:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • רחמיםר מנותק
                    רחמיםר מנותק
                    רחמים מורחק
                    כתב ב נערך לאחרונה על ידי
                    #25

                    לשינוי שם מצאתי את הקוד הבא:

                    sp_rename old_table_name, new_table_name
                    

                    פורסם במקור בפורום CODE613 ב22/01/2014 18:47 (+02:00)

                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      כתב ב נערך לאחרונה על ידי
                      #26

                      אני כבר יודע כמה שנים SQL ברמה בסיסית,
                      ותשמע לי, המהירות בה אתה רוצה לשלוט בעסק לדעתי גבוהה מהאפשרי.

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

                      אתה לא חייב בכלום להתייחס לדברי, ואין כאן שום פקודה, אלא ניסיון להסביר את עצמי אם אני לא "נחלץ לעזור".

                      פורסם במקור בפורום CODE613 ב22/01/2014 19:00 (+02:00)

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      1
                      • רחמיםר מנותק
                        רחמיםר מנותק
                        רחמים מורחק
                        כתב ב נערך לאחרונה על ידי
                        #27

                        תודה דוד אתה אלוף :smile:

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

                        ALTER TABLE Person.ContactBackup
                        ADD CONSTRAINT FK_ContactBacup_Contact FOREIGN KEY (ContactID)
                            REFERENCES Person.Person (BusinessEntityID) ;
                        

                        פורסם במקור בפורום CODE613 ב22/01/2014 19:36 (+02:00)

                        תגובה 1 תגובה אחרונה
                        0
                        • רחמיםר מנותק
                          רחמיםר מנותק
                          רחמים מורחק
                          כתב ב נערך לאחרונה על ידי
                          #28

                          שלב ב'

                          אחרי שאנו יודעים איך יוצרים קשר גומלין אנו יכולים להתקדם לאיך מוחקים קשר קיים:

                          ALTER TABLE Person.ContactBackup
                          DROP CONSTRAINT FK_ContactBacup_Contact ;
                          

                          פורסם במקור בפורום CODE613 ב22/01/2014 19:39 (+02:00)

                          תגובה 1 תגובה אחרונה
                          0
                          • רחמיםר מנותק
                            רחמיםר מנותק
                            רחמים מורחק
                            כתב ב נערך לאחרונה על ידי
                            #29

                            שלב ג'
                            אחרי שאנו יודעים מה הם הקשרי הגומלין הקיימים ע''י השאילתא הארוכה הנ''ל, אנו יכולים למחוק את כל הקשרי גומלין השייכים לטבלה המקורית וכנ''ל בשלב ב'
                            אחר שאין קשרי גומלין אנו יכולים למחוק את הטבלה המקורית עצמה כך:

                            DROP TABLE [שם הטבלה]
                            

                            שלב ד'
                            כעת אפשר להחליף את השם של הטבלה מהגיבוי עם הקוד שכבר הוזכר, וליצור קשרי גומלין מחדש כנ''ל בשלב א'.

                            שלב ה'
                            התגובות שלכם בבקשה...

                            פורסם במקור בפורום CODE613 ב22/01/2014 19:46 (+02:00)

                            תגובה 1 תגובה אחרונה
                            0
                            • רחמיםר מנותק
                              רחמיםר מנותק
                              רחמים מורחק
                              כתב ב נערך לאחרונה על ידי
                              #30

                              @שמואל

                              אולי אפשר שהתוכנה פשוט תעתיק את הקובץ כל ערב
                              ובמקרה הצורך הוא יוחלף

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

                              פורסם במקור בפורום CODE613 ב26/01/2014 09:59 (+02:00)

                              תגובה 1 תגובה אחרונה
                              0
                              • א מנותק
                                א מנותק
                                ארכיטקט
                                כתב ב נערך לאחרונה על ידי
                                #31

                                @רחמים

                                @שמואל
                                אולי אפשר שהתוכנה פשוט תעתיק את הקובץ כל ערב

                                ובמקרה הצורך הוא יוחלף

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

                                באמת מוזר, הרי windows יודע להעתיק קובץ שנמצא בשימוש, קריאה לא מפריעה רק כתיבה. ואילו במסד נתונים זה לא נותן משום מה. לא ברור איך להתגבר על זה. צריך לכאורה לנתק את כל השירותים של sql כדי לשחרר את הקובץ, ואז להפעיל אותם בחזרה, זה עניין של שבריר שניה, והמשתמשים אפילו לא ירגישו אני מקווה.

                                פורסם במקור בפורום CODE613 ב26/01/2014 10:16 (+02:00)

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

                                תגובה 1 תגובה אחרונה
                                0
                                • clickoneC מנותק
                                  clickoneC מנותק
                                  clickone
                                  כתב ב נערך לאחרונה על ידי
                                  #32

                                  @ארכיטקט

                                  @רחמים
                                  @שמואל
                                  אולי אפשר שהתוכנה פשוט תעתיק את הקובץ כל ערב

                                  ובמקרה הצורך הוא יוחלף

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

                                  באמת מוזר, הרי windows יודע להעתיק קובץ שנמצא בשימוש, קריאה לא מפריעה רק כתיבה. ואילו במסד נתונים זה לא נותן משום מה. לא ברור איך להתגבר על זה. צריך לכאורה לנתק את כל השירותים של sql כדי לשחרר את הקובץ, ואז להפעיל אותם בחזרה, זה עניין של שבריר שניה, והמשתמשים אפילו לא ירגישו אני מקווה.

                                  תנסה להעתיק עם פונקציית API.
                                  API מעתיק אפילו שהקובץ תפוס.

                                  פורסם במקור בפורום CODE613 ב26/01/2014 11:39 (+02:00)

                                  אין טסט כמו פרודקשן.

                                  המייל שלי urivpn@gmail.com

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • א מנותק
                                    א מנותק
                                    ארכיטקט
                                    כתב ב נערך לאחרונה על ידי
                                    #33

                                    @ClickOne

                                    תנסה להעתיק עם פונקציית API.
                                    API מעתיק אפילו שהקובץ תפוס.

                                    זה לא עובד אפילו בוינדווס עצמו העתק הדבק בלי API, ולא מצינו שכוחות של API עדיף מכוח האינטרפייס, זולתי בדוס......

                                    פורסם במקור בפורום CODE613 ב26/01/2014 12:32 (+02:00)

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

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מנותק
                                      dovidD מנותק
                                      dovid ניהול
                                      כתב ב נערך לאחרונה על ידי
                                      #34

                                      @ארכיטקט

                                      @ClickOne
                                      תנסה להעתיק עם פונקציית API.

                                      API מעתיק אפילו שהקובץ תפוס.

                                      זה לא עובד אפילו בוינדווס עצמו העתק הדבק בלי API, ולא מצינו שכוחות של API עדיף מכוח האינטרפייס, זולתי בדוס......

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

                                      פורסם במקור בפורום CODE613 ב26/01/2014 13:19 (+02:00)

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • clickoneC מנותק
                                        clickoneC מנותק
                                        clickone
                                        כתב ב נערך לאחרונה על ידי
                                        #35

                                        @דוד ל.ט.

                                        @ארכיטקט
                                        @ClickOne
                                        תנסה להעתיק עם פונקציית API.

                                        API מעתיק אפילו שהקובץ תפוס.

                                        זה לא עובד אפילו בוינדווס עצמו העתק הדבק בלי API, ולא מצינו שכוחות של API עדיף מכוח האינטרפייס, זולתי בדוס......

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

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

                                        פורסם במקור בפורום CODE613 ב26/01/2014 13:34 (+02:00)

                                        אין טסט כמו פרודקשן.

                                        המייל שלי urivpn@gmail.com

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • רחמיםר מנותק
                                          רחמיםר מנותק
                                          רחמים מורחק
                                          כתב ב נערך לאחרונה על ידי
                                          #36

                                          @ClickOne

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

                                          When SQL services are running the SQLserver.exe process holds all the mdf/ldf files and will not let the users copy those files. Either perform any of the below

                                          Detach the database
                                          Take the database offline
                                          Shutdown the SQL services and copy mdf / ldf files.

                                          מקור

                                          פורסם במקור בפורום CODE613 ב26/01/2014 13:38 (+02:00)

                                          תגובה 1 תגובה אחרונה
                                          0

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום