KB2634571 - שיפורים עבור הפקודה DBCC CHECKDB עשויים להביא לביצועים מהירים יותר בעת שימוש באפשרות PHYSICAL_ONLY

חל על
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Service Pack 3 SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Web SQL Server 2008 Workgroup SQL Server 2008 Service Pack 2 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Express SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

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

מבוא

הפקודה DBCC CHECKDB מאזנת את הצורך בין ביצועים ומשאבים. לכן, ייתכן שהפקודה DBCC CHECKDB לא תמקסם את השימוש במשאבים בעת הפעלת בדיקות עקביות עבור מסד נתונים.

לדוגמה, ייתכן שהפקודה DBCC CHECKDB לא תמקסם את השימוש בקלט/פלט בדיסק כאשר בדיקות עקביות עבור מסד נתונים מופעלות.

פתרון

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

SQL Server 2008 Service Pack 2

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

2673382 חבילת עדכון מצטבר 9 עבור SQL Server 2008 Service Pack 2

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

2402659 גירסאות Build של SQL Server 2008 שפורסמו לאחר הפצת SQL Server 2008 Service Pack 2

תיקונים חמים של Microsoft SQL Server 2008 נוצרים עבור ערכות Service Pack ספציפיות של SQL Server. עליך להחיל תיקון חם של SQL Server 2008 Service Pack 2 על התקנה של SQL Server 2008 Service Pack 2. כברירת מחדל, כל תיקון חם המסופק בערכת Service Pack של SQL Server כלול בערכת ה- Service Pack הבאה של SQL Server.

SQL Server 2008 Service Pack 3

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 4 עבור SQL Server 2008 Service Pack 3. לקבלת מידע נוסף אודות חבילת עדכון מצטבר זו, עיין במאמר הבא במאגר הידע Microsoft Knowledge Base:

2673383 חבילת עדכון מצטבר 4 עבור SQL Server 2008 Service Pack 3

                 הערה מכיוון שגירסאות ה- Build הן מצטברות, כל מהדורת תיקון חדשה מכילה את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו במהדורת התיקון הקודמת של SQL Server 2008. Microsoft ממליצה לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, עיין במאמר הבא ב- Microsoft Knowledge Base:

2629969 גירסאות Build של SQL Server 2008 שפורסמו לאחר הפצת SQL Server 2008 Service Pack 3

תיקונים חמים של Microsoft SQL Server 2008 נוצרים עבור ערכות Service Pack ספציפיות של SQL Server. עליך להחיל תיקון חם של SQL Server 2008 Service Pack 3 על התקנה של SQL Server 2008 Service Pack 3. כברירת מחדל, כל תיקון חם המסופק בערכת Service Pack של SQL Server כלול בערכת ה- Service Pack הבאה של SQL Server.

חבילת עדכון מצטבר מס' 11 עבור SQL Server 2008 R2

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

2633145 חבילת עדכון מצטבר 11 עבור SQL Server 2008 R2

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

981356 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2

חבילת עדכון מצטבר 4 עבור SQL Server 2008 R2 SP1

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

2633146 חבילת עדכון מצטבר 4 עבור SQL Server 2008 R2 SP1

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

2567616 גירסאות Build של SQL Server 2008 R2 שפורסמו לאחר הפצת SQL Server 2008 R2 SP1

SQL Server 2012

SQL Server 2012 מכיל את שינויי הקוד עבור תיקונים אלה. סמלי המעקב 2562 ו- 2549 כמתואר להלן חלים גם על SQL Server 2012. עם זאת, התיקון להפחתת המחלוקת על תפס DBCC_MULTIOBJECT_SCANNER אינו דורש סימון של דגל מעקב 2562 ב SQL Server 2012. שינויים אלה נכללו כברירת מחדל ב- SQL Server 2012.

מידע נוסף

עדכון מצטבר זה מציג שני דגלי מעקב כדי להגדיל את השימוש במשאבי קלט/פלט בדיסק בצורה טובה יותר כאשר משתמש מבצע את הפקודה DBCC CHECKDB . למרות ששיפורים אלה מכוונים רק לאפשרות PHYSICAL_ONLY , הם עשויים גם לשפר את הביצועים הכוללים של פקודות DBCC CHECKDB שאינן משתמשות באפשרות PHYSICAL_ONLY .

דגל מעקב 2562

דגל מעקב זה כולל את השינויים הבאים:

  • הפעל את הפקודה DBCC CHECKDB ב"אצווה" אחת, ללא קשר למספר האינדקסים במסד הנתונים. כברירת מחדל, הפקודה DBCC CHECKDB מנסה למזער משאבי tempdb על-ידי הגבלת מספר האינדקסים או ה"עובדות" שהיא יוצרת באמצעות המושג "אצווה". דגל מעקב זה מאלץ את כל העיבוד לאצווה אחת.
  • שפר את העיבוד הפנימי לקביעת העמודים שייקראו ממסד הנתונים. זה מפחית את המחלוקת על תפס DBCC_MULTIOBJECT_SCANNER .

השפעה אחת של השימוש בדגל מעקב זה היא שדרישות השטח עבור tempdb עשויות לגדול. Tempdb עשוי לגדול עד ל- 5 אחוזים או יותר ממסד הנתונים של המשתמשים המעובד באמצעות הפקודה DBCC CHECKDB . לכן, מומלץ להקדים את הגודל של tempdb ל- 5 אחוזים לפחות מגודל מסד הנתונים בעת שימוש בדגל מעקב זה, כדי למנוע גידול אוטומטי, שעלול להאט את ביצועי הפקודה DBCC CHECKDB .

הערה דגל מעקב 2562 הוא דגל מעקב ברמת ההפעלה. באפשרותך להפוך אותו לזמין ברמת ההפעלה.

דגל מעקב 2549

הפקודה DBCC CHECKDB בונה רשימה פנימית של דפים לקריאה לכל כונן דיסקים ייחודי בכל קבצי מסד הנתונים. לוגיקה זו קובעת כונני דיסקים ייחודיים על סמך אות הכונן של שם הקובץ הפיזי של כל קובץ. אם הדיסקים הבסיסיים הם למעשה ייחודיים כאשר אותיות הכונן או לא, הפקודה DBCC CHECKDB תתייחס אליהם כדיסק אחד. כאשר דגל מעקב זה זמין, ההנחה היא שכל קובץ מסד נתונים נמצא בכונן דיסקים ייחודי. אל תשתמש בדגל מעקב זה אלא אם ידוע לך שכל קובץ מבוסס על דיסק פיזי ייחודי.

הערה דגל מעקב 2549 הוא דגל עקבות גלובלי. כדי להפוך אותו לזמין, עליך להשתמש בו כפרמטר אתחול או להשתמש ב- DBCC TRACEON (2549,-1).

למרות שדגלי מעקב אלה משפרים את הביצועים של פקודות DBCC CHECKDB שמתמקדות בשימוש באפשרות DBCC CHECKDB , ייתכן שמשתמשים מסוימים לא יבחינו בשיפור בביצועים. בעוד שדגלי מעקב אלה משפרים את השימוש במשאבי קלט/פלט של הדיסק, הביצועים הבסיסיים של משאבי הדיסק עשויים להגביל את הביצועים הכוללים של הפקודה DBCC CHECKDB .

שים לב להגבלות הבאות:

  • שיפורי הביצועים לא נועדו לשפר את הביצועים בעת שימוש באפשרות התיקון .
    לדוגמה, שיפורי הביצועים לא נועדו לשפר את הביצועים בעת השימוש באפשרות REPAIR_ALLOW_DATA_LOSS .
  • השיפורים אינם משפיעים על הפקודה DBCC CHECKALLOC .
  • שיפורים אלה עשויים לסייע בביצועים של הפקודה DBCC CHECKTABLE עבור אינדקסים בעלי עמודים רבים. עם זאת, השיפורים לא נועדו לשיפור הביצועים של הפקודה DBCC CHECKTABLE .

מצב

Microsoft אישרה שזוהי בעיה במוצרי Microsoft המפורטים בסעיף "חל על".