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

חל על: SQL Server 2008 Service Pack 2SQL Server 2008 R2

Microsoft מפיץ Microsoft SQL Server 2008 ופותר של Microsoft SQL Server 2008 R2 להורדה כקובץ אחד. מאחר התיקונים הם מצטברים, כל פרסום חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם ב- SQL Server 2008 או SQL Server 2008 R2 מהדורה.

תופעות


שקול את התרחיש הבא:
  • השתמש בהצפנת נתונים שקוף על מסד נתונים ב- SQL Server 2008 או ב- Microsoft SQL Server 2008 R2.
  • בטל הצפנה עבור מסד הנתונים.
  • באפשרותך לגבות את מסד הנתונים מיד לאחר השבתת הצפנה.
  • אתה מנסה לשחזר את מסד הנתונים במופע אחר של SQL Server באמצעות הגיבוי.
בתרחיש זה, פעולת השחזור נכשלת, ומתקבלת הודעת שגיאה הדומה להודעה הבאה:
System.Data.SqlClient.SqlError: לא אותחל כראוי הקובץ "< שם מסד הנתונים > _log". בדוק את יומני הרישום של השגיאה לקבלת פרטים נוספים. (Microsoft.SqlServer.Smo)
עם זאת, יומן רישום השגיאות יש ללא פרטים. אם תסיר את מפתח ההצפנה עבור מסד הנתונים לפני לגבות מסד הנתונים, מתקבלת הודעת השגיאה הבאה בעת ניסיון לשחזר את מסד הנתונים:
System.Data.SqlClient.SqlError: אין אפשרות למצוא אישור שרת עם טביעת אצבע '0xCB62FF76463A6BF86E8F769B541BA6483AFC2FF2'. (Microsoft.SqlServer.Smo)

פתרון


מידע עדכון מצטבר

SQL Server 2008 ה-Service Pack 1

התיקון עבור בעיה זו פורסם לראשונה ב- 10 עדכון מצטבר עבור SQL Server 2008 Service Pack 1. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
2279604 חבילת העדכון המצטבר 10 עבור SQL Server 2008 Service Pack 1
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 מהדורה. Microsoft ממליצה כי תשקול את החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
970365 SQL Server 2008 בונה שפורסמו לאחר SQL Server 2008 Service Pack 1 פורסם
תיקונים חמים של Microsoft SQL Server 2008 נוצרות עבור ערכות שירות הספציפי של שרת SQL. עליך להחיל תיקון חם SQL Server 2008 Service Pack 1 להתקנה של SQL Server 2008 Service Pack 1. כברירת מחדל, כל תיקון חם הכלול ב- SQL Server service pack נכלל ב- SQL Server service pack הבא.

SQL Server 2008 ה-Service Pack 2

התיקון עבור בעיה זו פורסם לראשונה ב- 1 עדכון מצטבר עבור SQL Server 2008 Service Pack 2. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
2289254 עדכון מצטבר 1 עבור SQL Server 2008 Service Pack 2
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 מהדורה. אנו ממליצים לך לשקול החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
2402659 SQL Server 2008 בונה שפורסמו לאחר פורסם SQL Server 2008 Service Pack 2

SQL Server 2008 R2

התיקון עבור בעיה זו פורסם לראשונה ב- 4 עדכון מצטבר. לקבלת מידע נוסף אודות האופן שבו ניתן להשיג את חבילת עדכון מצטבר זה עבור SQL Server 2008 R2, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
2345451 חבילת העדכון המצטבר 4 עבור SQL Server 2008 R2
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 R2 מהדורה. אנו ממליצים לך לשקול החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
981356 SQL Server 2008 R2 בונה שפורסמו לאחר פורסם SQL Server 2008 R2

מצב


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

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

  1. ליצור מפתח ראשי. הבאה היא דוגמה של קוד היוצר של מפתח ראשי:
    use masterCreate Master Key encryption by password = 'Password01!';go
  2. צור או להשיג אישור מוגן על-ידי מפתח ראשי. הבאה היא דוגמה של קוד היוצר אישור מוגן על-ידי מפתח ראשי:
    create certificate cert_testDB_encryptDEK  authorization dbowith subject='Certificate to encrypt the DEK of testDB'
  3. צור מסד נתונים חדש, יצירת מפתח הצפנה של מסד הנתונים ולאחר מכן להגן על המפתח על-ידי האישור. הבאה היא דוגמה של קוד יוצר מסד נתונים חדש, אשר יוצר מפתח הצפנה של מסד הנתונים, ומגנה מכן שבו המפתח באמצעות אישור:
    create Database testDBuse testDBCreate database encryption key with algorithm=AES_128encryption by server certificate cert_testDB_encryptDEK  
  4. להגדיר את מסד הנתונים כדי להשתמש בהצפנה. הבאה היא דוגמה של קוד המגדיר מסד נתונים כדי להשתמש בהצפנת:
    Alter database testDB set encryption on 
  5. בטל הצפנה עבור מסד הנתונים. הבאה היא דוגמה של קוד המבטלת הצפנה עבור מסד נתונים:
    Alter database testDB set encryption off 
  6. לגבות את מסד הנתונים, ולאחר מכן שחזר את הגיבוי גירסה אחרת של SQL Server.

הפניות


לקבלת מידע נוסף אודות הצפנת נתונים שקוף (TDE), בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):לקבלת מידע נוסף אודות מודל מצטבר של מתן שירות עבור SQL Server, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
935897 מודל מתן שירות מצטבר זמין מתוך צוות SQL Server כדי לספק תיקונים חמים עבור בעיות שדווחו
לקבלת מידע נוסף אודות הסכימה למתן שמות עבור עדכונים של SQL Server, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
822499סכימה חדשה למתן שמות עבור חבילות עדכוני תוכנה של Microsoft SQL Server
לקבלת מידע נוסף על מינוח עדכוני התכנה, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של Microsoft