משיב מוביל
גרסאות שונות של sqlserver ב vs 2010 express

שאלה
-
יצרתי קבץ mdf ב Vs 2010 express במחשב אחד עבדתי עליו ,
לקחתי אותו בדיסק אונקי למחשב שני והתחברתי לקובץ גם עם Vs 2010 express ועבדתי עליו
החזרתי את הקובץ לדיסק אונקי וחזרתי איתו למחשב הראשון, ושם הופתעתי לגלות שלא ניתן להתחבר לקובץ
קיבלתי הודעה ארוכה שמסבירה לי שהקובץ שייך ל server 661 ואני משתמש עם server 559 (אל תתפסו אותי על המספר המדויק אבל בערך אלו המספרים)
לאחר בירור קטן שמתי לב של SqlServer שבה עם vs ישנם גירסאות שונות
מה שאני ראיתי
1) 10.50
2) 10.0.4000
3) 10.0.2532 משהו דומה
בקיצור אם פתחת את הקובץ בגירסה החדשה יותר, לא תוכל לפתוח אותו עם גירסה ישנה יותר, ולא משנה באיזה גירסה יצרת את הקובץ.
ועכשיו לשאלתי :
א. למה אין הודעה שהקובץ הולך להשתנות ושלא יוכל להפתח בגרסה קודמת?
ב. איך אני מעדכן את הגרסה הפנימית של SqlServer שבתוך ה visual studio express
או איך בכל זאת אני פותח את הקובץ בגרסה קודמת בסך הכל מדובר באותו vs2010express
בתודה מראש רוני
- הועבר על-ידי Hengzhe Li יום רביעי 18 ינואר 2012 07:22 (מאת:Microsoft Visual C#)
תשובות
-
הסבר וכמה תיקונים/הבהרות לדברים:
הקדמה: אתה מדבר על VS אבל מציג בעצם עבודה עם SQL (אני מנחש לפי שם הקובץ וההסברים יהיו בהתאם).
1. VS לא קובע איזה שרת SQL מותקן לך במחשב. אם לא מותקן שום שרת אז עם ההתקנה של ה VS הוא שואל אותך אם להתקין שרת בגרסה sql express ואם מותקן לך אז הוא פשוט ישתלב ויעבוד עם מה שמותקן כל עוד הוא בגרסה מתאימה. למשל VS 2010 יסכים לעבוד עם כל שרת אקספרס בגרסאות שהראת ועוד.
2. ברירת המחדל של VS זה לעבוד כאמור עם שרת בגרסת express ואם רוצים לשנות נתון זה צריך להיכנס להגדרות של VS ולא מומלץ לדעתי לגעת בהגדרות אלו סתם. בקישור גם תוכל לראות כיצד להגדיר לעבוד עם שרת SQL אחר.
3. לגבי השאלות:
א. תשאל את מייקרוסופט :-) זה פורום אתר של מייקרוסופט אבל אין כאן נציגים שלהם ברמה טכנית שתומכים. התמיכה כאן כמו כל פורום ברשת בהתנדבות על ידי גולשים שלא קשורים למייקרוסופט בדרך כלל. אבל אישית אני לא מוצא שיש צורך בהודעה כזו.
ב. כדי לשחזר מסד נתונים מגרסה מתקדמת יותר לגרסה אחורה ניתן לעבוד עם כל תוכנת SSIS או פשוט לפתוח את מסד הנתונים בגרסה החדשה יותר ואז לייצא אותו בצורת שאילתות על ידי:
- עכבר ימני על שם מסד הנתונים
- בחירה ב משימות -> צור סקריפט
- בזמן יצירת הסקריפט ניתן לקבוע בהגדרות המתקדמות את הרסה של מסד הנתונים אליו רוצים להתאים את התוצאה (זמן יצירת הסקריפט ארוך מאוד יכול להיות כי בסקריפט נרשמים כל הנתונים ממסד הנתונים כמובן)
- מריצים את הסקריפט בזהירות תוך בדיקה שלב אחרי שלב במסד הנתונים הישן יותר.
דרך אחרת דומה ועדיפה בעיני: שוב כפתור ימני על מסד הנתונים ובחירה ב ייצוא (שוב יפתח אשף וגם בו אפשר לקבוע לייצר סקריפט ולקבוע אם כן להעביר דטא או רק את המבנה של האובייקטים)
** אני ממליץ לחפש מדריך בנושא ולא ללכת למהר לפי כמה המשפטים שרשמתי כאן בתקציר (לא שיש כאן משהו לא נכון אבל זה מקוצר מדי למי שלא ביצע את זה אף פעם ויש הרבה הגדרות בדרך שניתן לעשות... אולי אני אעלה הסבר יוצתר מעמיק בהמשך)
- נערך על-ידי pituachMVP, Moderator יום שלישי 29 נובמבר 2011 19:04
- הוצע כתשובה על-ידי pituachMVP, Moderator יום ראשון 10 נובמבר 2013 16:17
- סומן כתשובה על-ידי administrative_account_raOwner יום שני 28 מרץ 2022 22:54
כל התגובות
-
הסבר וכמה תיקונים/הבהרות לדברים:
הקדמה: אתה מדבר על VS אבל מציג בעצם עבודה עם SQL (אני מנחש לפי שם הקובץ וההסברים יהיו בהתאם).
1. VS לא קובע איזה שרת SQL מותקן לך במחשב. אם לא מותקן שום שרת אז עם ההתקנה של ה VS הוא שואל אותך אם להתקין שרת בגרסה sql express ואם מותקן לך אז הוא פשוט ישתלב ויעבוד עם מה שמותקן כל עוד הוא בגרסה מתאימה. למשל VS 2010 יסכים לעבוד עם כל שרת אקספרס בגרסאות שהראת ועוד.
2. ברירת המחדל של VS זה לעבוד כאמור עם שרת בגרסת express ואם רוצים לשנות נתון זה צריך להיכנס להגדרות של VS ולא מומלץ לדעתי לגעת בהגדרות אלו סתם. בקישור גם תוכל לראות כיצד להגדיר לעבוד עם שרת SQL אחר.
3. לגבי השאלות:
א. תשאל את מייקרוסופט :-) זה פורום אתר של מייקרוסופט אבל אין כאן נציגים שלהם ברמה טכנית שתומכים. התמיכה כאן כמו כל פורום ברשת בהתנדבות על ידי גולשים שלא קשורים למייקרוסופט בדרך כלל. אבל אישית אני לא מוצא שיש צורך בהודעה כזו.
ב. כדי לשחזר מסד נתונים מגרסה מתקדמת יותר לגרסה אחורה ניתן לעבוד עם כל תוכנת SSIS או פשוט לפתוח את מסד הנתונים בגרסה החדשה יותר ואז לייצא אותו בצורת שאילתות על ידי:
- עכבר ימני על שם מסד הנתונים
- בחירה ב משימות -> צור סקריפט
- בזמן יצירת הסקריפט ניתן לקבוע בהגדרות המתקדמות את הרסה של מסד הנתונים אליו רוצים להתאים את התוצאה (זמן יצירת הסקריפט ארוך מאוד יכול להיות כי בסקריפט נרשמים כל הנתונים ממסד הנתונים כמובן)
- מריצים את הסקריפט בזהירות תוך בדיקה שלב אחרי שלב במסד הנתונים הישן יותר.
דרך אחרת דומה ועדיפה בעיני: שוב כפתור ימני על מסד הנתונים ובחירה ב ייצוא (שוב יפתח אשף וגם בו אפשר לקבוע לייצר סקריפט ולקבוע אם כן להעביר דטא או רק את המבנה של האובייקטים)
** אני ממליץ לחפש מדריך בנושא ולא ללכת למהר לפי כמה המשפטים שרשמתי כאן בתקציר (לא שיש כאן משהו לא נכון אבל זה מקוצר מדי למי שלא ביצע את זה אף פעם ויש הרבה הגדרות בדרך שניתן לעשות... אולי אני אעלה הסבר יוצתר מעמיק בהמשך)
- נערך על-ידי pituachMVP, Moderator יום שלישי 29 נובמבר 2011 19:04
- הוצע כתשובה על-ידי pituachMVP, Moderator יום ראשון 10 נובמבר 2013 16:17
- סומן כתשובה על-ידי administrative_account_raOwner יום שני 28 מרץ 2022 22:54
-