Freigeben über


Isolationsstufen

Wenn Sperren als Kontrollmechanismus für Transaktionen verwendet werden, können Parallelitätsprobleme gelöst werden. Sperren ermöglichen, dass mehrere Transaktionen gleichzeitig, aber völlig isoliert voneinander ausgeführt werden. Als Isolationsstufe wird die Stufe bezeichnet, ab der eine Transaktion inkonsistente Daten akzeptiert. Eine höhere Isolationsstufe bietet höheren Schutz gegen inkonsistente Daten, der Nachteil ist die geringere Parallelität.

In Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) wird über die für eine Anwendung erforderliche Isolationsstufe das Sperrverhalten von SQL Server Compact Edition bestimmt.

SQL Server Compact Edition unterstützt folgende Isolationsstufen (in aufsteigender Reihenfolge):

  • Read Committed (Standardeinstellung von SQL Server Compact Edition)
  • Repeatable Read
  • Serializable (Transaktionen sind voneinander isoliert)

Auf einer höheren Isolationsstufe haben die Daten höheren Schutz vor Dateninkonsistenzen. Damit wird jedoch die Parallelität der Transaktion reduziert, und der Mehrbenutzerzugriff wird beeinträchtigt.

Hinweis:
SQL Server Compact Edition stellt sicher, dass eine Transaktion Daten einer anderen Transaktion, für die kein Commit ausgeführt wurde, nicht lesen kann (Dirty Read). Dazu wird ein Mechanismus zur Versionsverwaltung für Seiten verwendet, der Benutzern das Lesen von Daten ermöglicht, ohne S-Sperren für die Daten anzufordern. Dies ermöglicht hohe Parallelität bei (SELECT)-Lesevorgängen.

Isolationsstufen und Parallelitätsprobleme

In der folgenden Tabelle werden die einzelnen Isolationsstufen und die möglichen Parallelitätsprobleme der einzelnen Stufen aufgeführt.

Hinweis:
Zu den möglichen Parallelitätsproblemen gehören die Abhängigkeit von Daten, für die kein Commit ausgeführt wurde, die inkonsistente Analyse und das Lesen eines Phantoms. Weitere Informationen zu Parallelitätsproblemen finden Sie unter Parallelität.
Isolationsstufe Abhängigkeit von Daten, für die kein Commit ausgeführt wurde (Dirty Read) Inkonsistente Analyse (nicht wiederholbarer Lesevorgang) Lesen eines Phantoms

Read Committed

Nein

Ja

Ja

Repeatable Read

Nein

Nein

Ja

Serializable

Nein

Nein

Nein

Die Isolationsstufen können entweder programmgesteuert festgelegt werden oder mit der folgenden SQL-Syntax: SET TRANSACTION ISOLATION LEVEL. Weitere Informationen finden Sie unter Isolationsstufen von Transaktionen.

Siehe auch

Konzepte

Transaktionen (SQL Server Compact Edition)
Sperren (SQL Server Compact Edition)
Cursor (SQL Server Compact Edition)

Hilfe und Information

Informationsquellen für SQL Server Compact Edition