תופעות
שקול את התרחיש הבא:
-
יש לך מסד נתונים של Microsoft SQL Server 2012 או גירסה קודמת הכולל filegroups מרובים, והfilegroup המשני הוא filegroup ברירת המחדל.
-
עליך לגבות את מסד הנתונים ולאחר מכן לשחזר אותו ב-SQL Server 2014.
-
אתה מגדיר את filegroup הראשי כfilegroup המהווה ברירת מחדל ולאחר מכן מנסה להסיר את filegroup המשני.
בתרחיש זה, אין באפשרותך למחוק את filegroup המשני גם אם כל קבצי הנתונים תחתיו נמחקו. הודעת השגיאה מראה שאין אפשרות להסיר את filegroup המשני מכיוון שהיא אינה ריקה.
סיבה
הבעיה מתרחשת מאחר ששדרוג גירסאות מסד הנתונים יוצר אובייקטי מערכת בfilegroup המשמשים כברירת מחדל במקום בfilegroup הראשי ב-SQL Server 2014. ה-filegroup המשני עדיין מכיל כמה אובייקטי מערכת.
פתרון
תיקון זה מציג את דגל המעקב 3861 כדי להעביר טבלאות מערכת לתוך filegroup הראשי. לאחר החלת התיקון החם המתואר במאמר זה, כאשר אתה מפעיל את SQL Server באמצעות מעקב דגל 3861 כפרמטר הפעלה, הוא יכול להעביר את טבלאות המערכת לתוך filegroup הראשי. אם עדיין לא שחזרת את גיבוי מסד הנתונים, באפשרותך להפוך את דגל המעקב לזמין ברמת השרת:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 4 עבור SQL Server 2014 /en-us/help/2999197
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".