תוכן עניינים:

מה גורם למבוי סתום במסד הנתונים?
מה גורם למבוי סתום במסד הנתונים?

וִידֵאוֹ: מה גורם למבוי סתום במסד הנתונים?

וִידֵאוֹ: מה גורם למבוי סתום במסד הנתונים?
וִידֵאוֹ: What Are Database Deadlocks 2024, מאי
Anonim

א מָבוֹי סָתוּם קורה כאשר שתי עסקאות (או יותר) חוסמות זו את זו על ידי החזקת נעילות על משאבים שכל אחת מהעסקאות גם צריכה. לדוגמה: עסקה 1 מחזיקה מנעול על טבלה A. רוב האנשים יכתבו את זה מבוי סתום לא ניתן להימנע מרובה משתמשים מאגר מידע.

מכאן, מה זה מבוי סתום במסד נתונים?

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

יודע גם, האם נבחר יכול לגרום למבוי סתום? 2 תשובות. מָבוֹי סָתוּם קורה כאשר שאילתה אחת רוכשת נעילה על אובייקט (שורות, דפי נתונים, היקף, טבלאות וכו') ומשאב אחר מנסה לגשת אליו. היחידה הקטנה ביותר ב-SQL Server היא דפי נתונים ו-SQL מחזיק מנעול בדף בזמן העבודה עליו. אז כן יתכן ששניים בחר הַצהָרָה פחית לִיצוֹר מָבוֹי סָתוּם.

בנוסף, כיצד נוכל למנוע מבוי סתום במסד הנתונים?

טיפים להימנעות ממבוי סתום

  1. ודא שעיצוב מסד הנתונים מנורמל כהלכה.
  2. פתח יישומים לגישה לאובייקטי שרת באותו סדר בכל פעם.
  3. אל תאפשר קלט משתמש כלשהו במהלך עסקאות.
  4. הימנע מסמנים.
  5. הקפידו על עסקאות קצרות ככל האפשר.

איך מתקנים מבוי סתום?

מפתח חכם חייב לבצע את השלבים הבאים כדי להתאושש ממבוי סתום:

  1. בדוק אם יש שגיאה מספר 1205, כאשר נזרק חריג.
  2. השהה את האפליקציה לזמן קצר כדי לתת לשאילתה האחרת זמן להשלים את העסקה שלה ולשחרר את המנעולים שנרכשו.
  3. שלח מחדש את השאילתה, שהוחזרה על ידי SQL Server.

מוּמלָץ: