MSSQL-PHP-Deadlock

TheVinc

Mitglied
hallo zusammen,

ich bekomme vom SQLServer folgende Fehlermeldung angezeigt. woran kann das liegen?

Die Transaktion (Prozess-ID 120) befand sich auf lock Ressourcen wegen eines anderen Prozesses in einer Deadlocksituation und wurde als Deadlockopfer ausgewählt. Führen Sie die Transaktion erneut aus.


vielen Dank schonmal
 
Hi

Du greifst auf 2 REsourcen zu, die sich gegenseitig benötigen oder lockst eine Tabelle beim Lesen und willst aber gleichzeitig auch reinschreiben.
Deadlocks können viele Ursachen haben. Sie im Code zu finden ist teilweise mühseelig und kannst du nur durch debbuging/tracing rausfinden (es sei denn, du kannst es schon von vorn herein einschränken ;) )
Eine Ursache hier zu nennen ist ohne Code und Umgebung so gut wie unmöglich und wäre nur ein Stochern im Heuhaufen.
Die Möglichen Ursachen allgemein kannst du hier nachlesen.
 
danke für die Antwort.

ich weiss wo es auftritt, aber ich weiss nicht warum.

Folgendes:

ich habe 10 User die alle gleichzeitig eine Bearbeitung von Datensätzen vornehmen.
Die Datensätze stehen alle in der gleichen Tabelle, aber jeder user hat seine eigenen Datensätze. es können doch mehrere User auf die gleiche Tabelle zugreifen oder nicht?
 
Können schon. Kommt aber darauf an wie:
Wenn du beim Lesen und Schreiben die Tabelle lockst, kommt es irgend wann zu einem DeadLock, die die Session gegenseitig warten müssen.
Ich nehm mal an, du liest und schreibst in Transaktionen. Wie es scheint, sind die zu groß um abgearbeitet zu werden.
 
Zurück