Eine Art der Sperren ist die optimistische Sperre auf Zeilenebene.
Eine Änderungsoperation des aktuellen Benutzers auf einer von ihm optimistisch gesperrten Zeile wird nur dann durchgeführt, wenn diese Zeile nicht zwischenzeitlich von einer konkurrierenden Transaktion geändert wurde. Wenn dagegen eine konkurrierende Transaktion die Zeile geändert hat, dann wird die Änderungsoperation des aktuellen Benutzers zurückgewiesen. In beiden Fällen wird die optimistische Sperre wieder freigegeben.
Im Fall der erfolgreichen Änderungsoperation wird eine Schreibsperre für diese Zeile gesetzt. Im Falle einer erfolglosen Änderungsoperation sollte diese Änderungsoperation erst nach einem erneuten Lesen ohne oder mit optimistischer Sperre wiederholt werden. Im Isolation-Level 0 muss das erneute Lesen mit einer explizit angegebenen Sperre durchgeführt werden. So kann sichergestellt werden, dass die Änderung noch auf dem aktuellen Zustand aufsetzt und keine zwischenzeitlichen Änderungen verloren gehen.
Eine optimistische Sperre ist nur dann sinnvoll, wenn einer der Isolation-Level 0, 1 bzw. 10 oder 15 vergeben wurde. Sie muss explizit durch Angabe einer LOCK-Anweisung angefordert werden. Eine Anforderung kollidiert nur mit einer Schreibsperre. Konkurrierende Transaktionen kollidieren nicht mit einer optimistischen Sperre.