Entwickler-Ecke

Datenbanken - Sperren von Datensätzen im SQL-Server


holgerbremen - Sa 23.10.10 21:50
Titel: Sperren von Datensätzen im SQL-Server
Ich bräuchte mal eine Lösung für mein Problem.
Ich habe 8 Threads, die sich minütlich Daten aus einer Tabelle holen. Die Daten dürfen immer nur einmal verwendet werden. Im Prinzip müßte ich ein kennzeichen setzen, dass die Daten bereits verwendet sind und kein weiterer Thread sich die selben Daten nochmals holt. So wie ich gelesen habe, sind Sperrungen auf Datensatzebene nicht möglich.

Hat jemand eine Idee, wie man sowas am Besten umsetzen kann. Die Methode muss 100% sicher sein, sonst gibt es Probleme. Es wird ein SQL-Server 2000 Standard verwendet.

Gruß
Holger


platzwart - Sa 23.10.10 21:58

Naja, einen zusätzlichen Thread nehmen, der die Datensätze ausliest und an die Threads verteilt. Die Threads stellen dazu eine Anfrage an den Datensatz-Thread, dass sie bereit sind für einen neuen Datensatz. Der Datensatz-Thread übergibt den aktuellen Datensatz und holt den nächsten...


bummi - Sa 23.10.10 22:05

oder Threads fühlen sich nur zuständig für bestimmte ID's

z.B.: 1.) id % 10 in (1,2)
2.) id % 10 in (3)
etc.