was ist deadlock in einer Datenbank?
Was ist deadlock in sql server und, wenn es entsteht? Was sind die Probleme mit deadlock und wie es zu lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist deadlock in sql server und, wenn es entsteht? Was sind die Probleme mit deadlock und wie es zu lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen, deadlock bedeutet, dass zwei oder mehr Elemente sind blockiert einige Quellen, und keiner von Ihnen ist in der Lage zu beenden, weil Ihre blockieren Quellen in einer zyklischen Weise.
Ein Beispiel: sagen wir, ich habe Tabelle A und Tabelle B, die ich brauche, um einige der update in A und dann B und ich entscheiden, zu sperren, sowohl im moment der Nutzung (das ist wirklich dumm Verhalten, aber es dient seinem Zweck jetzt). Im selben moment, jemand anderes tut das gleiche in umgekehrter Reihenfolge - sperren B zunächst, dann sperrt A.
Chronologisch, geschieht dies:
proc1: Sperre Ein
proc2: Lock B
proc1: Lock B - beginnt, zu warten, bis proc2 Versionen B
proc2: Lock-A - beginnt, zu warten, bis proc1 gibt Eine
Es ist offensichtlich, keiner von Ihnen beenden. Das ist deadlock.
Das Loch viel tiefer geht, aber das ist nur die Einreise, und wenn Sie brauchen, um mehr zu wissen, Ihre Zeit investieren. In unserer Universität gibt es ganze Vorträge darüber, dass - so glaube nicht, dass das Lesen einige Artikel, macht Sie ein Experte 😉
Deadlock ist, was passiert, wenn zwei Menschen müssen mehrere Ressourcen auszuführen, und wobei ein Teil der Mittel gesperrt werden, die von jedem der Menschen. Dies führt zu der Tatsache, dass Eine nicht durchführen kann, ohne etwas B hat und Umgekehrt.
Können sagen, ich habe Person A und Person B. beide brauchen, um zwei Zeilen zu führen (Row1 und Row2).
Person A kann nicht ausgeführt werden, weil es braucht, Row2, Person B kann nicht ausgeführt werden, da braucht es Row1. Weder Mensch wird jemals in der Lage zu führen, weil Sie blockieren, was der andere braucht und Umgekehrt.
Eine Recht einfache Möglichkeit zum reduzieren der deadlock ist in allen Ihren komplexen Transaktionen, die Sie tun sollten, Operationen in der gleichen Reihenfolge. In anderen Worten, access Tabelle1 dann in Tabelle2 in der gleichen Reihenfolge. Dies wird helfen, reduzieren die Anzahl der deadlocks, die auftreten können.
Einer Sackgasse, die auftreten, wenn zwei (oder mehr) Transaktionen sind jeweils
warten auf sperren freigegeben werden, die im Besitz der anderen.