תופעות
שקול את התרחיש הבא:
-
אתה משתמש ב-Microsoft SQL Server 2012 או ב-SQL Server 2014.
-
יש לך מסד נתונים המאפשר לברוקר שירות להיות זמין בעותק המשוכפל הראשי.
-
גבה את מסד הנתונים בשרת הראשי שבו מתווך השירות זמין ושחזר אותו בשרת המשני.
-
כחלק מהגדרת הקבוצה ' זמינות ' בין השרתים הראשי והמשני, אתה מנסה להצטרף למסד הנתונים לקבוצה ' זמינות ' באמצעות אשף הקבוצה ' זמינות חדשה ' או הפקודה: ' שינוי מסד נתונים ' <dbname> הגדרת הקבוצה ' זמינות HADR = <agname>
בתרחיש זה, השגיאה הבאה נרשמת ביומן השגיאות של SQL Server:
{Error: 3449, חומרה: 21, State: 1. SQL Server חייב להיסגר כדי לשחזר מסד נתונים (מזהה מסד נתונים 1). מסד הנתונים הוא מסד נתונים של משתמש שאינו ניתן לכיבוי או מסד נתונים של מערכת. הפעל מחדש את SQL Server. אם מסד הנתונים אינו מצליח להתאושש לאחר הפסקת הפעלה אחרת, תיקון או מעקב אחר הrestoreSQL הופסק עקב כיבוי השרת. מזהה מעקב = ' 1 '. זוהי הודעה מיידיות בלבד; אין צורך בפעולת משתמש.}
סיבה
הבעיה מתרחשת מאחר שאם מסד נתונים המותאם לשימוש בברוקר שירות מגובה ומוחזר לשרת המשני, מתווך השירות במסד הנתונים המשוחזר אינו זמין. מסד הנתונים עדיין משאיר מזהה ברוקר השירות באופן פנימי. בעת הוספת מסד הנתונים המשוחזר בשרת המשני לקבוצה ' זמינות ', מתווך השירות מופעל. מזהה ייחודי כללי במסד הנתונים של הזמינות מזוהה, והשגיאה הבאה מורמת (שקטה): 9772 "אין אפשרות להפוך את מתווך השירות במסד הנתונים"<dbname>"ללא זמין מאחר שקיים כבר מתווך שירות זמין עם אותו מזהה". התוצאה היא שגיאה 3449 מכיוון שמסד הנתונים מצטרף לקבוצה ' זמינות ' וגורם ל-SQL server להיסגר באופן בלתי צפוי.
פתרון
הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 1 עבור SQL Server 2014 /en-us/help/2931693
עדכון מצטבר 9 עבור SQL Server 2012 SP1 /en-us/help/2931078
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".