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

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

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

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

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