Das eine hat mit anderen nicht unbedingt etwas zu tun. Beim "with (nolock)" geht es um die Konsistenz beim Lesen. Für Update und Delete gibt es auch entsprechende Hints, die das Locking beeinflussen. Wie gesagt, die Strategie hängt davon ab, was das für ein System isat. Wenn viel mehr gelesen als geschrieben wird, wenn das viele Nutzer*innen sind, tut nolock seine Dienste gut + dann kann man gut mit optimistic locking leben. Heißt: Gehe davon aus, dass der Datzensatz, den du änderst, nicht schon von wem anderen geändert wurde. Wenn viel öfter geschrieben als gelsen wird, ist pessimistic locking angebracht. Sich bei einem
MSSQL Server sein eigenes Lockingsystem zu schreiben, erschließt sich mir grad nicht. Warum würde man das machen wollen?
Wie auch immer: Die Locks müssen so kurz wie möglich und so begrenzt wie möglich sein. Sonst eskaliert das zu Blockierungen.
https://www.sqlshack.com/locking-sql-server/
https://stackoverflow.com/questions/...-in-sql-server
https://www.mssqltips.com/sqlservert...server-tables/