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

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

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

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

מתוזמן נעוץ נעול הועבר ארכיון code613m
38 פוסטים 6 כותבים 2.6k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                                • dovidD מנותק
                                  dovidD מנותק
                                  dovid ניהול
                                  כתב ב נערך לאחרונה על ידי
                                  #37

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

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

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

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

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

                                    עדיין אני צודק. (וגם דוד ל.ט. :lol: )
                                    הפרוסס פשוט תופס אותו... לא יותר מזה.

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

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

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

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

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

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

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