Πίνακας περιεχομένων:

Τι προκαλεί τα αδιέξοδα της βάσης δεδομένων;
Τι προκαλεί τα αδιέξοδα της βάσης δεδομένων;

Βίντεο: Τι προκαλεί τα αδιέξοδα της βάσης δεδομένων;

Βίντεο: Τι προκαλεί τα αδιέξοδα της βάσης δεδομένων;
Βίντεο: Εκλογές: Αναλυτικά τα σενάρια της αυτοδυναμίας με βάση τα τελευταία δημοσκοπικά δεδομένα | Ειδήσεις 2024, Νοέμβριος
Anonim

ΕΝΑ αδιέξοδο συμβαίνει όταν δύο (ή περισσότερες) συναλλαγές μπλοκάρουν η μία την άλλη κρατώντας κλειδαριές σε πόρους που χρειάζεται και κάθε μία από τις συναλλαγές. Για παράδειγμα: Η συναλλαγή 1 κρατά μια κλειδαριά στον Πίνακα Α. Οι περισσότεροι θα το γράψουν αυτό αδιέξοδα δεν μπορεί να αποφευχθεί σε πολλούς χρήστες βάση δεδομένων.

Από εδώ, τι είναι τα αδιέξοδα στη βάση δεδομένων;

Αδιέξοδα . Σε ένα βάση δεδομένων , ένα αδιέξοδο είναι μια κατάσταση κατά την οποία δύο ή περισσότερες συναλλαγές περιμένουν η μία την άλλη να εγκαταλείψει τις κλειδαριές. Για παράδειγμα, η συναλλαγή Α μπορεί να κρατά ένα κλείδωμα σε ορισμένες σειρές στον πίνακα Λογαριασμοί και πρέπει να ενημερώσει ορισμένες σειρές στον πίνακα Παραγγελίες για να ολοκληρωθεί.

Γνωρίζετε επίσης, μπορεί ένας επιλεγμένος να προκαλέσει αδιέξοδο; 2 Απαντήσεις. Αδιέξοδο συμβαίνει όταν ένα ερώτημα αποκτά ένα κλείδωμα σε ένα αντικείμενο (γραμμές, σελίδες δεδομένων, έκταση, πίνακες κ.λπ.) και άλλος πόρος προσπαθεί να αποκτήσει πρόσβαση σε αυτό. Η μικρότερη μονάδα στον SQL Server είναι οι σελίδες δεδομένων και η SQL κρατά ένα κλείδωμα στη σελίδα ενώ εργάζεται σε αυτήν. Λοιπόν, ναι, είναι δυνατόν δύο επιλέγω δήλωση μπορώ δημιουργώ αδιέξοδο.

Επιπλέον, πώς μπορούμε να αποτρέψουμε το αδιέξοδο στη βάση δεδομένων;

Συμβουλές για την αποφυγή αδιεξόδων

  1. Βεβαιωθείτε ότι ο σχεδιασμός της βάσης δεδομένων έχει κανονικοποιηθεί σωστά.
  2. Αναπτύξτε εφαρμογές για πρόσβαση σε αντικείμενα διακομιστή με την ίδια σειρά κάθε φορά.
  3. Να μην επιτρέπεται η είσοδος χρήστη κατά τη διάρκεια των συναλλαγών.
  4. Αποφύγετε τους δρομείς.
  5. Κρατήστε τις συναλλαγές όσο το δυνατόν πιο σύντομες.

Πώς διορθώνεις ένα αδιέξοδο;

Ένας έξυπνος προγραμματιστής πρέπει να κάνει τα ακόλουθα βήματα για να ανακάμψει από ένα αδιέξοδο:

  1. Ελέγξτε για τον αριθμό σφάλματος 1205, όταν γίνεται εξαίρεση.
  2. Κάντε σύντομη παύση της εφαρμογής για να δώσετε χρόνο στο άλλο ερώτημα για να ολοκληρώσει τη συναλλαγή του και να απελευθερώσει τα κλειδώματα που αποκτήθηκαν.
  3. Υποβάλετε ξανά το ερώτημα, το οποίο επανήλθε από τον SQL Server.

Συνιστάται: