תופעות
שקול את התרחיש הבא:
-
יש לך טבלה גדולה מאוד של Filestream.
-
אתה מפעיל שאילתת מחיקה של שורות בטבלה Filestream שיוצרת תוכנית שאילתה יקרה, כגון אחת שמסוננת על-ידי צירוף פנימי לטבלה גדולה אחרת במערכת.
-
ממטב השאילתות בוחר תוכנית ביצוע מקבילית.
בתרחיש זה,תתרחש ssertion, וייתכן שתקבל הודעות שגיאה הדומות לבאות ביומן השגיאות של SQL Server:
שגיאת DateTime SpidNumber : 5553, חומרה: 20, State: 6.
שגיאה פנימית של שגיאת DateTime SpidNumber SQL Server. ל-FILESTREAM manager אין אפשרות להמשיך בפקודה הנוכחית.
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".
פתרון
הבעיה נפתרה בעדכונים המצטברים הבאים עבור SQL Server:
אודות עדכונים מצטברים עבור SQL Server:
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל תיקונים חמים וכל תיקוני האבטחה שנכללו בקודם עדכון מצטבר. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
פתרון
To לעקוף בעיה זו, you יכול להשתמש בשיטה הבאה:
הזז את שאילתת הצירוף הפנימית למשפט נפרד ושמור את התוצאות בטבלה זמנית. לאחר מכן הפעלה של שאילתת המחיקה המסוננת לפי הערכים בטבלה הזמנית. בנוסף, באפשרותך להגדיל את סף העלות עבור מקבילות כדי לאלץ את הממטב לערוך בסידרה את תוכנית השאילתה.
לדוגמה:
בחר RefTable. Alias לתוך #T מ-DB. dbo. OuterTable פנימי של DB. dbo. RefTable ב-RefTable. alias = OuterTable. Alias
כאשר OuterTable. Alias > 30006 ו-OuterTable. Alias < 30010
מחק ממסד הנתונים DB. dbo. טבלה היכן הכינוי (בחר * מתוך #T)
הפניות
למד אודות המינוח terminology ש Microsoft משתמשת כדי לתאר עדכוני תוכנה.