יום ראשון, 22 בפברואר 2009

ניהול ROLLBACK

בעיה:
"ביצעתיkill לטרנזקציה, ואני רואה ב- activity monitor שמתבצע כרגע RollBack
כיצד ניתן לדעת עוד כמה זמן נשאר ל- RollBack ?"
"מה סטטוס ה- RollBack? "

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

על מנת לנהל את ה- RollBack ולדעת כמה כבר בוצע ? וכמה זמן עוד נשאר ? יש להריץ שוב את הפקודה KILL על אותה טרנזקציה.
פקודת KILL על טרנזקציה שכבר מבוצע עליה RollBack תראה את הנתונים הנ"ל.

לדוגמא:

ביצוע פקודת kill לטרנזקציה מספר 52 .
הרצת פקודת sp_who2 על מנת לראות את סטאטוס הטרנזקציות.
ניתן לראות כי טרנזקציה 52 כעת בסטאטוס "rollback"

על-מנת לנטר את ה- rollback ולראות את הסטאטוס שלו -
לעשות שוב פעם KILL זה קצת מסוכן כי יכול להיות שה ROLLBACK נגמר ועכשיו תהרגו SESSION אחר
ע"י שימוש ב with statusonly נקבל את אותה התוצאה ביותר זהירות

kill XXXXX with statusonly


בהצלחה !!

אין תגובות: