Article ID: 873235 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

מבוא

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

מידע נוסף

הקטנת גודל יומן הטרנזקציות

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

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


למידע נוסף אודות הקטנת גודל יומן הטרנזקציות, בקר באתר האינטרנט הבא של Microsoft:
כיווץ יומן הטרנזקציות עבור SQL Server 2000
כיווץ יומן הטרנזקציות עבור SQL Server 2005

קיצוץ הטרנזקציות שאינן פעילות ביומן הטרנזקציות

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

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

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

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

כווץ את קובץ יומן הטרנזקציות

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

שים לב המשפט DBCC SHRINKFILE Transact-SQL אינו יכול לקצץ את היומן ולכווץ את השטח שאינו בשימוש בתוך קובץ היומן לבדו.

לקבלת מידע נוסף אודות כיווץ קובצי יומן הטרנזקציות, עיין בנושאים הבאים בספרים המקוונים של שרת SQL:
  • כיווץ יומן הטרנזקציות
  • DBCC SHRINKFILE
לקבלת מידע נוסף אודות אופן הכיווץ של קובצי יומן טרנזקציות ב-SQL Server 2000, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:
272318 כיווץ יומן הטרנזקציות ב- SQL Server 2000 עם DBCC SHRINKFILE (ייתכן שקישור זה מפנה לתוכן שחלק ממנו או כולו מופיע באנגלית) (ייתכו שטקסט זה מוצג באנגלית)
לקבלת מידע נוסף אודות בעיות מוכרות העלולות להתעורר כאשר מכווצים את קובצי יומן הטרנזקציות, לחץ על מספרי המאמרים שלהלן כדי להציג את המאמרים מתוך Microsoft Knowledge Base:
814574 בעיה: הודעת שגיאה: "לא ניתן לכווץ את קובץ היומן..." במהלך כיווץ קובץ יומן הטרנזקציות (ייתכו שטקסט זה מוצג באנגלית)
324432 בעיה: פקודות DBCC SHRINKFILE ו-SHRINKDATABASE עשויות שלא לפעול בגלל עמודות טקסט, ntext, או תמונה שאינן מאוכלסות במידה רבה (ייתכו שטקסט זה מוצג באנגלית)

מנע גידול בלתי צפוי של קובצי יומן הטרנזקציות

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

    לקבלת מידע נוסף אודות השיקולים שיש לקחת בחשבון בעת הגדרת תצורה של אפשרות ההתרחבות האוטומטית, לחץ על מספר המאמר שלהלן כדי להציגו מתוך מאגר הידע Microsoft Knowledge Base:
    315512 שיקולים עבור הגדרת התצורה של התרחבות אוטומטית והתכווצות אוטומטית
  • שינוי מודל השחזור. אם מתרחש אסון או מתרחשת פגיעה בנתונים, עליך לשחזר את מסד הנתונים כדי לשמור על עקביות הנתונים ושלמות מסד הנתונים בכל הקשור לטרנזקציות. בהתאם למידת הקריטיות של הנתונים במסד הנתונים, תוכל להיעזר באחד המודלים הבאים לשחזור כדי לקבוע את אופן גיבוי הנתונים ואת מידת החשיפה שלך לאובדן נתונים:
    • מודל השחזור הפשוט
    • מודל השחזור המלא
    • מודל שחזור Bulk-logged
    בעת שימוש במודל השחזור הפשוט, תוכל לשחזר את מסד הנתונים לגיבוי האחרון של מסד הנתונים. שימוש במודל השחזור המלא או במודל השחזור bulk-logged מאפשר לשחזר את מסד הנתונים לנקודה בה אירע הכשל על-ידי שחזור מסד הנתונים באמצעות הגיבויים של קובצי יומן הטרנזקציות.

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

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

    למידע נוסף אודות איחוי האינדקסים ב-SQL Server 2000, עיין באתר האינטרנט הבא של Microsoft:
    שיטות עבודה מומלצות לאיחוי אינדקסים עם Microsoft SQL Server 2000
    אם עליך להשתמש במשפט DBCC DBREINDEX כעבודה המהווה חלק מתוכנית תחזוקה של מסד הנתונים, עליך לפצל את העבודה למספר עבודות. בנוסף, עליך לבצע את הגיבויים התכופים של יומני הטרנזקציות בין הביצוע של העבודות השונות.

מידע נוסף אודות קובצי יומן טרנזקציות

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

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

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

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

מידע נוסף

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

הערה זהו מאמר מסוג "פרסום מהיר" שנוצר ישירות מתוך ארגון התמיכה של Microsoft. המידע ניתן כפי שהוא (as-is) כתגובה לבעיות שעלו. בשל הדחיפות בהוצאת החומר, שגיאות טיפוגרפיות עשויות להתגלות בו, והחומר עשוי לעבור תיקון בכל שלב ללא הודעה מראש. לקבלת מידע נוסף, עיין בתנאי השימוש.

מאפיינים

Article ID: 873235 - Last Review: יום רביעי 29 פברואר 2012 - Revision: 1.0
המידע במאמר זה חל על:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
מילות מפתח 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com