הודעת שגיאה כאשר אתה מנסה לשמור טבלה ב- SQL Server: "שמירת שינויים לא מורשה"

תרגומי מאמרים תרגומי מאמרים
Article ID: 956176 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

מאפייני הבעיה

כאשר תשתמש שפת הגדרת נתונים (DDL) כדי לשנות טבלה ולאחר מכן תנסה לשמור את הטבלה ב- Microsoft SQL Server 2008, ייתכן שתקבל את ההודעה הבאה:
שמירת שינויים אינה מותרת. השינויים שערכת דורשים בטבלאות הבאות כדי לשחרר ונוצרת מחדש. עליך לבצע שינויים בטבלה ייווצרו מחדש או זמינה את האפשרות מנע שמירת שינויים אשר דורשים את הטבלה שיש מחדש.

סיבה

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

דרכים לעקיפת הבעיה

כדי לעקוף בעיה זו, השתמש במשפטי Transact-SQL כדי לבצע את השינויים במבנה מטה-נתונים של טבלה. לקבלת מידע נוסף עיין בנושא הבא בספרים מקוונים של שרת SQL:

http://msdn.microsoft.com/en-us/library/ms190273.aspx

לדוגמה, כדי לשנות MyDate עמודה של סוג datetime ב בכל טבלה הנקראת MyTable כדי לקבל ערכי NULL, שבאפשרותך להשתמש:

alter table MyTable alter column MyDate7 datetime NULL

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

סטטוס

Microsoft אישרה כי מדובר באג במוצרי מיקרוסופט הרשומים בסעיף 'חל על'.

מידע נוסף

כדי לשנות למנוע שמירת שינויים הדורשים ליצירה-מחדש של טבלה האפשרות, בצע את הפעולות הבאות:
  1. פתח סטודיו ניהול שרת SQL (SSMS).
  2. ב- כלים תפריט, לחץ על אפשרויות.
  3. בחלונית הניווט של אפשרויות חלון, לחץ על מעצבי אתרים.
  4. בחר או נקה למנוע שמירת שינויים הדורשים ליצירה-מחדש של טבלה תיבת הסימון ולאחר מכן לחץ אישור.
הערה אם תהפוך אפשרות זו, אתה לא מוזהרים בעת שמירת הטבלה בה השינויים שביצעת השתנו מבנה מטה-נתונים של הטבלה. במקרה זה, ייתכן אובדן נתונים בעת שמירת הטבלה.

הסיכון של ביטול האפשרות "אל תאפשר שמירת שינויים הדורשים ליצירה-מחדש של טבלה"

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

כדי לקבוע אם התכונה מעקב אחר שינויים מופעלת עבור טבלה, בצע את הפעולות הבאות:
  1. ב- SQL Server ניהול Studio, אתר את טבלת בסייר של האובייקט.
  2. לחץ לחיצה ימנית על הטבלה ולאחר מכן לחץ על מאפיינים.
  3. בתיבת הדו-שיח מאפייני טבלה , לחץ על מעקב אחר שינויים.
אם הערך של הפריט מעקב אחר שינויים מתקיים,אפשרות זו זמינה עבור הטבלה. אם הערך הוא False, אפשרות זו אינה זמינה.

כאשר מופעלת התכונה מעקב אחר שינוי, להשתמש במשפטי Transact-SQL כדי לשנות את מבנה מטה-נתונים של הטבלה.

שלבים לשחזור הבעיה

  1. ב- SQL Server ניהול Studio, צור טבלה המכילה מפתח ראשי בכלי מעצב הטבלה.
  2. לחץ לחיצה ימנית על מסד הנתונים המכיל טבלה זו ולאחר מכן לחץ מאפיינים.
  3. ב- מאפייני מסד נתונים בתיבת הדו-שיח, לחץ על מעקב אחר שינויים.
  4. הגדר את הערך של מעקב אחר שינויים פריט True, ולאחר מכן לחץ על אישור.
  5. לחץ לחיצה ימנית על הטבלה ולאחר מכן לחץ מאפיינים.
  6. ב- מאפייני טבלה בתיבת הדו-שיח, לחץ על מעקב אחר שינויים.
  7. הגדר את הערך של מעקב אחר שינויים פריט True, ולאחר מכן לחץ על אישור.
  8. ב- כלים תפריט, לחץ על אפשרויות.
  9. ב- אפשרויות בתיבת הדו-שיח, לחץ על מעצבי אתרים.
  10. לחץ כדי לבחור למנוע שמירת שינויים הדורשים ליצירה-מחדש של טבלה תיבת הסימון ולאחר מכן לחץ אישור.
  11. הכלי מעצב טבלה, שנה לאפשר ערכים ריקים ההגדרה עמודה קיימת.
  12. נסה לשמור את השינוי על הטבלה.

מאפיינים

Article ID: 956176 - Last Review: יום שישי 07 יוני 2013 - Revision: 1.0
המידע במאמר זה חל על:
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
מילות מפתח 
kbtshoot kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMthe
תרגום מכונה
חשוב: מאמר זה תורגם באמצעות תוכנת תרגום מכונה של Microsoft וייתכן שנערך לאחר מכן על-ידי קהילת Microsoftבאמצעות טכנולוגייתCommunity Translation Framework (CTF) או באמצעות תרגום אנושי. Microsoft מציעה לך גם מאמרים בתרגום אנושי, מאמרים בתרגום מכונה ומאמרים שנערכו על ידי הקהילה כדי לאפשר גישה למאמרים הקיימים במאגר הידע (Knowledge Base) שלMicrosoft בשפות שונות. מאמרים מתורגמים יכולים להכיל שגיאות באוצר המילים, בתחביר או בדקדוק. Microsoft אינה אחראית לחוסר דיוק, שגיאות או נזקים שייגרמו כתוצאה מטעויות בתכנים או משימוש בתכנים על ידי לקוחותיה.
כותרת מאמר זה באנגלית: 956176

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com