סימפטומים
ב- Microsoft SQL Server 2019, שחזור מסד הנתונים הדחוס או גיבויי יומן הרישום של מסדי הנתונים שבהם מופעלת הצפנת נתונים שקופה (TDE) עלולה לגרום לשגיאה הבאה:
הערה
- Msg 3241, רמה 16, מצב 18, שורה <LineNumber>
- משפחת המדיה במכשיר '<שם >קובץ הגיבוי' נוצרה באופן שגוי. ל- SQL Server אין אפשרות לעבד משפחת מדיה זו.
פתרון
כדי לעקוף בעיה זו, אל תדחוס את הגיבויים של מסדי נתונים התומכים ב- TDE באמצעות אחת מהשיטות הבאות:
- השתמש ב- WITH COMPRESSION כמתואר ב- BACKUP (Transact-SQL).
- הסתמך על ברירת המחדל של דחיסת הגיבוי כמתואר בתצוגה או קביעת תצורה של אפשרות ברירת המחדל של תצורת השרת של דחיסת הגיבוי.
פתרון
מידע עדכון מצטבר
בעיה זו נפתרה בעדכון המצטבר הבא עבור SQL Server:
עדכון מצטבר 16 עבור SQL Server 2019
הערה עליך ליצור את הגיבויים יחד עם תיקון זה כדי למנוע את הבעיה. התקנת ה- CU המתוקן במופע היעד וניסיון לשחזר את אותו גיבוי שנוצר ללא התיקון לא יפעלו.
מידע נוסף
חשוב
החל מ- SQL Server 2019 CU16, יצירת גיבויים דחוסים (מסד נתונים או יומן) של מסדי נתונים התומכים ב- TDE תשתמש בתבנית גיבוי חדשה שניתן לשחזר רק במופע שבו מותקן CU16 ואילך.
שחזור גיבוי דחוס של מסד נתונים מותאם TDE שנוצר ב- CU16 ואילך במופע של SQL Server 2019 של גרסה CU15 או גירסה קודמת נכשל וגורם לשגיאות הבאות:
שחזור מסד נתונים
הערה
- Msg 3013, רמה 16, מצב 1, שורה <LineNumber>
- שחזור מסד הנתונים מסתיים באופן חריג.
- Msg 9004, רמה 21, מצב 1, שורה <LineNumber>
- אירעה שגיאה בעת עיבוד יומן הרישום עבור מסד הנתונים 'TDE_DB'. אם הדבר אפשרי, שחזר מגיבוי. אם גיבוי אינו זמין, ייתכן שיהיה צורך לבנות מחדש את יומן הרישום.
שחזר יומן רישום
הערה
- מיקום: mediaRead.cpp:1018
- ביטוי: readSize <= m_Demand
- SPID: 84
- מזהה תהליך: ProcessID
- Msg 3013, רמה 16, מצב 1, שורה <LineNumber>
- שחזור יומן הרישום מסתיים באופן חריג.
- Msg 3624, רמה 20, מצב 1, שורה <LineNumber>
- בדיקת קביעת מערכת נכשלה. בדוק את יומן השגיאות של SQL Server לקבלת פרטים. בדרך כלל, כשל בקביעה נגרם על ידי באג תוכנה או השחתת נתונים. כדי לבדוק אם מסד הנתונים פגום, שקול להפעיל את DBCC CHECKDB. אם הסכמת לשלוח קבצי Dump ל- Microsoft במהלך ההתקנה, קובץ Dump מצומצם יישלח אל Microsoft. ייתכן שעדכון יהיה זמין מ- Microsoft ב- Service Pack העדכני ביותר או בתיקון חם מהתמיכה הטכנית.
הערה הפקודות RESTORE HEADERONLY ו- RESTORE FILELISTONLY אינן מושפעות מהבעיה ויפעלו בכל המקרים.
RESTORE VERIFYONLY עשוי לחזור בהצלחה עבור גיבוי מלא שאינו חוקי לפי התרחיש לעיל: אל תסתמך על RESTORE VERIFYONLY כדי לקבוע שניתן לשחזר את הגיבוי מבלי לפגוע בבעיה לעיל. שחזר אימות בלבד מול גיבוי יומן בדרך כלל ייכשל יחד עם אותה שגיאה כמו יומן שחזור אמיתי המתואר לעיל.
לכן, חשוב לוודא שבהקשר שבו דחיסת TDE ודחיסת גיבוי עשויה להיות זמינה, כל מופע של SQL Server 2019 שצורך גיבויים ממופעים אחרים של SQL Server 2019 יקבל את CU16 (ואילך) לפני המופעים שיוצרים את חומר הגיבוי. ארכיטקטורות משלוח יומנים יהיו דוגמה מצוינת למצב כזה: שדרג תחילה מופעים משניים.
לאחר שנוצר גיבוי של יומן טרנזקציות באמצעות דחיסה, בדרך כלל לא ניתן ליצור אותו מחדש ללא דחיסה. לכן, שדרוג השרת הראשי של יומן הרישום ל- SQL Server 2019 CU16 ואילך בהקשר כזה ישבור את משימות השחזור עד לשדרוג גם של השרת המשני.
גיבוי לא דחוס של מסד נתונים המותאם ל- TDE, גיבוי דחוס של מסד נתונים שאינו מותאם לשימוש ב- TDE או גיבוי לא דחוס של מסד נתונים שאינו זמין עבור TDE לא ישתמשו בתבנית הגיבוי החדשה שהוצגה ב- CU16, וניתן לשחזר אותם במופע של SQL Server 2019 בכל הגירסאות.
לכן היא נדרשת להשבית דחיסת גיבוי אם אתה מתכנן לשחזר חומר מסד נתונים תואם TDE (גיבוי מלא או גיבוי יומן טרנזקציות) למופעים SQL Server של גירסאות קודמות לפני SQL Server 2019 CU16.
אודות עדכונים מצטברים עבור SQL Server
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ותיקוני האבטחה שהיו בגירסת ה- Build הקודמת. מומלץ להתקין את גירסת ה- Build העדכנית ביותר עבור גירסת SQL Server שברשותך:
העדכון המצטבר האחרון עבור SQL Server 2019
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".
חומרי עזר
קבל מידע על המינוח שבו משתמשת Microsoft כדי לתאר עדכוני תוכנה.