Freigeben über


Transaktionsisolationsstufen von Cursorn

Das Transaktionssperrverhalten eines bestimmten Cursors wird durch Kombinieren des Sperrverhaltens der Parallelitätseinstellung eines Cursors, der Sperrhinweise, die in der SELECT-Anweisung des Cursors angegeben sind, sowie der Optionen für die Transaktionsisolationsstufen bestimmt.

Microsoft SQL Server 2005 unterstützt die folgenden Transaktionsisolationsstufen für Cursor:

Read Committed

SQL Server richtet beim Lesen einer Zeile in einen Cursor eine gemeinsame Sperre ein, gibt die Sperre jedoch unmittelbar nach dem Lesen der Zeile wieder frei. Da Anforderungen einer gemeinsamen Sperre durch eine exklusive Sperre blockiert werden, wird verhindert, dass ein Cursor eine Zeile liest, die ein anderer Task aktualisiert hat, für die jedoch noch kein Commit ausgeführt wurde. Diese Isolationsstufe ist die Standardisolationsstufe für SQL Server und ODBC.

Read Uncommitted

SQL Server fordert keine Sperren beim Lesen einer Zeile in einen Cursor an und erkennt exklusive Sperren nicht an. Cursor können mit bereits aktualisierten Werten, für die jedoch noch kein Commit ausgeführt wurde, aufgefüllt werden. Der Benutzer umgeht alle Steuerungsmechanismen für das Sperren von Transaktionen in SQL Server 2005.

Repeatable Read oder Serializable

SQL Server 2005 fordert eine gemeinsame Sperre für jede Zeile beim Lesen in den Cursor wie in READ COMMITTED an. Wenn der Cursor jedoch innerhalb einer Transaktion geöffnet wurde, werden die gemeinsamen Sperren bis zum Ende der Transaktion aufrechterhalten, statt nach dem Lesen der Zeile freigegeben zu werden. Dies hat dieselben Auswirkungen wie das Angeben von HOLDLOCK für eine SELECT-Anweisung.

Snapshot

SQL Server fordert keine Sperren beim Lesen einer Zeile in einen Cursor an und erkennt exklusive Sperren nicht an. Der Cursor wird mit den Werten aufgefüllt, die zum Zeitpunkt des ersten Starts der Transaktion vorlagen. Scrollsperren werden unabhängig von der Verwendung der Snapshotisolation weiterhin angefordert.

Siehe auch

Konzepte

Anpassen der Isolationsstufe von Transaktionen
Anpassen der Isolationsstufen von Transaktionen
Cursorparallelität (Datenbankmodul)

Hilfe und Informationen

Informationsquellen für SQL Server 2005