Applies ToMicrosoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Enterprise X64 Edition Microsoft SQL Server 2005 Evaluation Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

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

תופעות

שקול את התרחיש הבא:

  • התקנת Microsoft SQL Server 2005, Microsoft SQL Server 2008 או Microsoft SQL Server 2008 R2 במחשב.

  • מסד נתונים אחד או יותר נמצא במודל השחזור המלא או הרשום בצובר.

  • הגודל ההתחלתי של קובץ יומן הטרנזקציות עבור מסד הנתונים קטן. עם זאת, קובץ הטרנזקציה גדל.

  • התצורה של תוספת הגידול בצמיחה האוטומטית של קובץ יומן הטרנזקציות נקבעה לגודל קטן. לדוגמה, הגדלת הגידול האוטומטי מוגדרת למגה-בית אחד או לאחוז אחד. לחלופין, עליך להגדיל את קובץ יומן הטרנזקציות באמצעות גידול ידני קטן.

  • קובץ יומן הטרנזקציות גדל בהפרשים קטנים של גידול. לאחר זמן מה, קובץ יומן הטרנזקציות גדול.לדוגמה, קובץ יומן הטרנזקציות גדל מ- 100 מגה-בתים ל- 10 ג'יגה-בתים. קובץ יומן הטרנזקציות גדל בהפרש של מגה-בית אחד בכל גידול.

בתרחיש זה, ייתכן שתיתקל בבעיות הבאות:

  • שחזור מסד הנתונים איטי כאשר מסד הנתונים מופעל אם יש כמות גדולה של עבודה לשחזור.לדוגמה, עסקה ממתינה לפתיחה למשך זמן רב. לחלופין, טרנזקציות רבות שגודלן קטן אינן מבוצעות כאשר SQL Server או מופעל מחדש. במקרה זה, ייתכן שתקבל שגיאה עבור זמן שחזור משוער ארוך בשלב הניתוח, בשלב הביטולי או בשלב ביצוע חוזר. השגיאה דומה להודעה הבאה והיא נרשמת בקובץ יומן השגיאות של SQL Server 2005:

    ניתוח מסד הנתונים 'mydatabase' (7) הוא 0% ביצוע (נותרו כ- 1234 שניות). זוהי הודעת מידע בלבד. לא נדרשת פעולת משתמש.

  • שחזור מסד הנתונים איטי כאשר קובץ גיבוי מלא של מסד נתונים ורצף נוסף של יומן טרנזקציות משוחזרים אם מסד הנתונים מופץ באופן מקוון.הערה כדי להעביר את מסד הנתונים למצב מקוון במהלך פעולת השחזור, השתמש בתחביר WITH RECOVERY או בתחביר WITH STANDBY = <אפשרויות> תחביר.

  • שחזור שיקוף מסדי נתונים איטי בשרת שותף בזוג שיקוף.

  • ההתקדמות של סוכן קורא יומן הרישום עבור שכפול טרנזקציות איטית עבור הפעולות הבאות:

    • ניתוח מבנה הטקסט של יומן הטרנזקציות של מסד נתונים של מפרסם.

    • פקודה נוספת למסד נתונים של הפצה.

    • הטרנזקציות משוכפלות.

  • ביצועים איטיים מתרחשים כאשר נוצרת תמונת מסד נתונים אם טרנזקציות רבות נרשמות או אם יומני הטרנזקציות נשארים פעילים במשך זמן רב. בעיה זו מתרחשת מכיוון שהתמונה צריכה להפעיל שחזור ויש להחזיר את יומני הטרנזקציות למצב קודם.

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

סיבה

בעיות אלה מתרחשות מאחר שקבצי יומן הרישום הווירטואליים (VLFs) בקובץ יומן טרנזקציות עלולים לגרום לביצועים איטיים SQL Server סריקה באמצעות קבצי VLFs אלה במהלך הפעולות הבאות:

  • שחזור מסד נתונים

  • שיקוף מסד נתונים

  • תמונת מסד נתונים

  • פעילויות קורא יומן רישום של שכפול טרנזקציות של מסד נתונים

כאשר קובץ יומן רישום של טרנזקציות עבור מסד נתונים גדל בהפרשים קטנים במהלך תנאי צמיחה קיצוניים, אלפי אלפי VLFs נמצאים בתוך קבוצה אחת של קבצי יומן טרנזקציות (.ldf). עם זאת, צמיחת יומן גדולה בהפרשים גדולים יוצרת רק כמה קבצי VLFs לפי השוואה. לדוגמה, כמה עשויים להיות קטנים מ- 100 VLFs.הערה VLFs הם החטיבות או המקטעים המשמשים באופן פנימי על-ידי SQL Server בקובץ יומן הטרנזקציות.  

פתרון

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

SQL Server 2008 R2

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

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

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

SQL Server Service Pack 1 של 2008

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 12 עבור SQL Server 2008 Service Pack 1.

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

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

SQL Server Service Pack 2 2008

התיקון לבעיה זו פורסם לראשונה בעדכון מצטבר 2 עבור SQL Server 2008 Service Pack 2.

הערה מאחר גירסאות Build הם מצטברים, כל מהדורה חדשה תיקון מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שהיו כלולים עם מהדורת התיקון הקודמת של SQL Server 2008. Microsoft ממליצה לשקול להחיל את מהדורת התיקון העדכנית ביותר המכילה תיקון חם זה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר מתוך מאגר הידע 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. כברירת מחדל, כל תיקון חם שסופק SQL Server Service Pack כלול ב- service pack SQL Server ה- Service Pack.

SQL Server Service Pack 3 של 2005

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 13 עבור SQL Server 2005 Service Pack 3.

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

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

SQL Server Service Pack 4 של 2005

התיקון לבעיה זו הופץ לראשונה בעדכון מצטבר 1 עבור SQL Server 2005 Service Pack 4.

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

עליך להחיל תיקון חם SQL Server 2005 Service Pack 4 על התקנה של SQL Server 2005 Service Pack 4. כברירת מחדל, כל תיקון חם שסופק SQL Server Service Pack כלול ב- service pack SQL Server ה- Service Pack.

מצב

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

פתרון

התקן תיקון חם זה והפעל מחדש SQL Server עשוי לשפר את ביצועי השחזור. לדוגמה, הביצועים עשויים להיות משופרים עבור הפעולות הבאות לאחר התקנת תיקון חם זה והפעל מחדש את SQL Server:

  • שחזור מסד נתונים

  • שיקוף מסד נתונים

  • תמונת מסד נתונים

  • פעילויות קורא יומן רישום של שכפול טרנזקציות של מסד נתונים

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

הפחתת בעיה קיימת

  • המתן להשלמת פעולת השחזור או השחזור אם יש לך מסד נתונים לא משוחזר שנתקל בביצועים האיטיים בעת שחזור או שחזור מסד הנתונים, ייתכן שתצטרך להמתין להשלמת פעולת השחזור או השחזור. לדוגמה, ייתכן שתראה את המצב הלא מקוון או את מצב השחזור ב- SQL Server Management Studio (SSMS) עבור מסד נתונים שאינו משוחזר. עצירת SQL Server בדרך כלל אינה מספקת הקלה לשחזור איטי, וייתכן שיידרש זמן רב יותר כדי לחזור על שלב ניתוח השחזור, שלב ביצוע חוזר או ביטול שלב.

  • הימנע משחזור רצף יומן הטרנזקציות המכיל אלפי קבצי VLFs אם אתה נתקל בביצועים האיטיים בעת שחזור ושחזור של מסד נתונים באמצעות קובץ גיבוי, באפשרותך להימנע משחזור רצפי יומן הטרנזקציות המכילים אלפי קבצי VLFs. כדי לזהות את קובץ הגיבוי המכיל את רוב קבצי יומן הרישום הווירטואליים שהוקלטו, השתמש במשפט הבא כדי לראות את העמודות FirstLSN ו- LastLSN בקובצי הגיבוי של יומן הרישום: שחזור HEADERONLY מדיסק='C:\folder\file.trn' באפשרותך להחליט להימנע משחזור קבצי הגיבוי של יומן הרישום. לחלופין, באפשרותך להשתמש במשפט STOP AT בפקודות שחזור כדי להימנע מהרכיבים המפוצלים ביותר של יומני הטרנזקציות. אם לא תשחזר באופן מלא את רצפי יומן הרישום עד לנקודה העדכנית ביותר בזמן במהלך תרחיש שחזור כשל, מתרחש אובדן נתונים במסד הנתונים SQL Server. אובדן נתונים זה מתרחש מאחר שלא כל הטרנזקציות נשמרות. לכן, יש החלטה עסקית עסקה. באפשרותך לשחזר באופן מלא יומן טרנזקציות מפוצל מאוד. עם זאת, פעולה זו עשויה להימשך שעות רבות. לחלופין, באפשרותך להשתמש במשפט STOP AT בתהליך השחזור כדי להפסיק את השחזור לפני החלק המפוצל ביותר של יומן הרישום. עם זאת, כל הטרנזקציות החסרות שאתה השמטת יאבדו.הערה מבלי להתקין תיקון חם זה, בדרך כלל אין דרך בטוחה לשחזור מזורז לאחר הפעלה מחדש של SQL Server. SQL Server לאתר את רשימת ה- VLFs כדי לנתח את קבצי יומן הרישום, לבצע שוב טרנזקציות שהושלמו ולאחר מכן לבטל טרנזקציות שלא הושלמו כדי לסיים את השחזור כדי להעביר את מסד הנתונים למצב מקוון בבטחה. אין באפשרותך לדלג בבטחה על טרנזקציות במהלך השחזור.

מניעת מופע עתידי

  • הגדרת ההפרש האוטומטי של מסד הנתונים לגודל מתאים אם גודלו של ההפרש המצטבר של Autogrow קטן מדי, יהיו קבצי יומן רישום וירטואליים רבים (VLFs), וייתכן שתיתקל בביצועים איטיים SQL Server. אם הגודל של ההפרש המצטבר של Autogrow גדול מדי, ייתכן ששאילתות שגורמת ליומני הטרנזקציות לגדול באופן אוטומטי עשויות לכלול להמתין זמן רב כדי לסיים את הגידול. לכן, שגיאת זמן קצוב עשויה להתרחש SQL Server. כדי לעקוף בעיות אלה, באפשרותך להגדיר את גודל ההפרש האוטומטי של גודל מסד הנתונים לגודל מתאים.

  • לחסל את המספר הגדול של VLFs, ולהשתמש בצמיחה ידנית אם VLFs רבים נמצאים ביומן הטרנזקציות, הקטן את יומן הטרנזקציות והגדל אותו לפני שיא העסק כדי לעמוד בביקוש על-ידי שימוש בצמיחה ידנית. לדוגמה, יומן הטרנזקציות גדל בחזרה לגודל ממוצע סביר בהפרש גדול או גידול ידני יחיד. לכן, גודלו של יומן הטרנזקציות מגיע לקיבולת שיא, וקובצי הגיבוי של יומן הרישום מתוזמנים על בסיס קבוע ותדירות. בנוסף, ייתכן ש יומן הטרנזקציות נחתך, וניתן להשתמש שוב ב- VLFs עבור יומן הטרנזקציות במחזור.

  • כיצד לכווץ ולהגדיל את יומן הטרנזקציות באופן ידני כדי לתקן יומן רישום הכולל יותר מדי קבצי VLFs, בצע שלבים אלה כדי לכווץ את יומן הרישום ולהגדיל אותו שוב באופן ידני:

    1. אם מסד הנתונים נמצא במודל שחזור מלא או רשום בצובר, עליך לגבות את יומן הטרנזקציות כדי לאפשר חיתוך של קבצי ה- VLFs הפעילים ולשימוש חוזר. שם מסד הנתונים של יומן הגיבוי ל- DISK='C:\folder\log_backupfile.trn' לקבלת מידע נוסף אודות אופן גיבוי קובץ יומן הטרנזקציות באמצעות SSMS, בקר באתר האינטרנט הבא של Microsoft Developer Network (MSDN):

      כיצד לגבות את קובץ יומן הטרנזקציות באמצעות SSMSלקבלת מידע נוסף אודות אופן גיבוי קובץ יומן הטרנזקציות באמצעות משפטי Transact-SQL, בקר באתר האינטרנט הבא של MSDN:

      כיצד לגבות את קובץ יומן הטרנזקציות באמצעות משפטי Transact-SQL

    2. כדי לקבוע את השם הלוגי של קובץ יומן הטרנזקציות, הפעל אחד מהצהרה הבאה.הצהרה 1 משפט sp_helpfile Exec 2 select * from sys.sysfiles to reduce the size of the transaction log file to the desired size, use the following code:DBCC SHRINKFILE(transactionloglogicalfilename, TRUNCATEONLY)

    3. באפשרותך להגדיל את קובץ יומן הטרנזקציות לגודל מתאים. מומלץ לאפשר לגודל של קובץ יומן הטרנזקציות לגדול לגודל הרגיל המרבי. לכן, לא ניתן להימנע מההפרש האוטומטי. כדי להגדיר את גודל יומן הטרנזקציות, השתמש בדף מאפייני מסד נתונים ב- SSMS, או השתמש בתחביר ALTER DATABASE הבא:MODIFY FILE ( NAME = transactionloglogicalfilenae, SIZE=newtotalsize MB) לקבלת מידע נוסף אודות האופן שבו ניתן להגדיל מסד נתונים ב- SSMS, בקר באתר האינטרנט הבא של MSDN:

      כיצד להגדיל מסד נתונים ב- SSMSלקבלת מידע נוסף אודות תחביר הקובץ ALTER DATABASE MODIFY, בקר באתר האינטרנט הבא של MSDN:

      מידע כללי אודות תחביר ALTER DATABASE MODIFY FILE

מידע נוסף

באפשרותך לבדוק את מספר מקטעי VLF על-ידי סקירת קובץ יומן רישום השגיאות של SQL ולאחר מכן על-ידי איתור מספר רצף יומן הרישום (LSN) בכל קובץ גיבוי של יומן טרנזקציות. הספרות הראשונות לפני סימן הנקודתיים ב- LSNs תואמות למספר ה- LSN.לדוגמה, המספר הראשון של הודעת המידע הראשונה עבור LSN הוא 1. עם זאת, המספר הראשון בהודעה השניה למידע עבור LSN 100001. בתרחיש זה, ישנם 100,000 VLFs המשמשים בין הזמן של הודעת המידע הראשונה לבין הודעת המידע השניה. לכן, יומן הטרנזקציות המפוצל שרשום המכיל קבצי יומן רישום וירטואליים רבים (VLFs) דומה לרכיבים הבאים:  

{יומן הרישום גוב. מסד נתונים: mydbname, תאריך יצירה(שעה): 2010/07/08(12:36:46), LSN ראשון: 1:5068:70, LSN אחרון: 1:5108:1, מספר התקני Dump: 1, פרטי מכשיר: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). זוהי הודעת מידע בלבד. לא נדרשת פעולת משתמש.יומן הרישום היה מקובץ. מסד נתונים: mydbname, תאריך יצירה(שעה): 2010/07/08(15:36:46), LSN ראשון: 100001:5108:1, LSN אחרון: 100002:5108:1, מספר התקני Dump: 1, פרטי מכשיר: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). זוהי הודעת מידע בלבד. לא נדרשת פעולת משתמש.} הטבלה הבאה מספקת מידע נוסף אודות המוצרים או הכלים אשר בודקים באופן אוטומטי את התנאי המתואר בסעיף "מאפייני הבעיה" במופע של SQL Server ובגרסאות SQL Server שבהן הכלל מוערך.  

תוכנת כלל

כותרת הכלל

תיאור הכלל

גירסאות מוצר שעבורן הכלל מוערך

System Center Advisor

SQL Server עם שכפול טרנזקציות, הביצועים של סוכן קורא יומן הרישום עשויים להיות מושפעים עקב גודל יומן הטרנזקציות או מספר VLF

במקרה זה SQL Server מופע הנוכחות זיהה את שכפול טרנזקציות הנוכחות עם מספר VLFs או גודל TLOG גדול יותר במידה ניכרת. הביצועים של סוכן קורא יומן הרישום מושפעים באופן שלילי מגודל יומן הטרנזקציות או ממספר VLF. הקטן את גודל יומן הטרנזקציות ואת מספר VLF כדי לשפר את הביצועים של סוכן קורא יומן הרישום.

SQL Server 2008 SQL Server 2008 R2 SQL Server 2012

 

הפניות

לקבלת מידע נוסף אודות הארכיטקטורה הפיזית של יומן הטרנזקציות, בקר באתר האינטרנט הבא של MSDN:

מידע כללי אודות הארכיטקטורה הפיזית של יומן הטרנזקציות לקבלת מידע נוסף אודות מספרי רצף יומני רישום (LSN), בקר באתר האינטרנט הבא של MSDN:

מידע כללי אודות מספרי רצף של יומן רישום לקבלת מידע נוסף אודות השגיאה 1413 בעת הפעלת שיקוף מסד נתונים, בקר באתר האינטרנט הבא של MSDN:

מידע כללי אודות השגיאה 1413 בעת הפעלת שיקוף מסד נתונים לקבלת מידע נוסף אודות האופן שבו מבנה קובץ יומן רישום יכול להשפיע על זמן שחזור מסד הנתונים, בקר באתר האינטרנט הבא של MSDN:

כיצד מבנה קובץ יומן רישום יכול להשפיע על זמן שחזור מסד הנתונים לקבלת מידע נוסף אודות VLFs של יומן הטרנזקציות, בקר באתר האינטרנט הבא של MSDN:

מידע כללי אודות קובץ יומן הטרנזקציות לקבלת מידע נוסף אודות אופן היצירה של תמונת מסד נתונים, בקר באתר האינטרנט הבא של MSDN:

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

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

822499סכימת מתן שמות חדשה עבור חבילות עדכוני SQL Server Microsoftלקבלת מידע נוסף אודות מינויי עדכוני תוכנה, לחץ על מספר המאמר הבא כדי להציג את המאמר מתוך מאגר הידע Microsoft Knowledge Base:

824684 תיאור המינוח הרגיל המשמש לתיאור עדכוני התוכנה של Microsoft

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.