Grundlegendes zu ZeilensperrenUnderstanding Row Locking

HerunterladenJDBC-Treiber herunterladenDownloadDownload JDBC Driver

Die Microsoft JDBC-Treiber für SQL ServerMicrosoft JDBC Driver for SQL Server verwendet SQL ServerSQL Server Sperren auf Zeilenebene.The Microsoft JDBC-Treiber für SQL ServerMicrosoft JDBC Driver for SQL Server uses SQL ServerSQL Server row locks. Diese implementieren die Parallelitätssteuerung zwischen mehreren Benutzern, die gleichzeitig Änderungen an einer Datenbank vornehmen.These implement concurrency control among multiple users who are performing modifications in a database at the same time. Standardmäßig werden Transaktionen und Sperren pro Verbindung verwaltet.By default, transactions and locks are managed on a per-connection basis. Wenn eine Anwendung beispielsweise zwei JDBC-Verbindungen öffnet, können von einer Verbindung erhaltene Sperren nicht mit einer anderen Verbindung gemeinsam verwendet werden.For example, if an application opens two JDBC connections, locks that are acquired by one connection cannot be shared with the other connection. Keine der Verbindungen kann Sperren erhalten, die zu Konflikten mit den Sperren der anderen Verbindung führen.Neither connection can acquire locks that would conflict with locks held by the other connection.

Hinweis

Wenn Zeilensperren verwendet werden, werden alle Zeilen im Fetchpuffer gesperrt. Das Festlegen eines großen Werts für die Fetchgröße kann daher Auswirkungen auf die Parallelität haben.If row locking is used, all rows in the fetch buffer are locked, so a very large setting for the fetch size can affect concurrency.

Sperren werden verwendet, um Transaktionsintegrität und Datenbankkonsistenz zu gewährleisten.Locking is used to assure transactional integrity and database consistency. Sperren verhindern, dass Benutzer Daten lesen, die von anderen Benutzern geändert werden, und dass mehrere Benutzer gleichzeitig die gleichen Daten ändern.Locking prevents users from reading data that is being changed by other users, and prevents multiple users from changing the same data at the same time. Wenn keine Sperren verwendet werden, kann dies dazu führen, dass die Daten in der Datenbank logisch falsch sind. Die für diese Daten ausgeführten Abfragen können dann unerwartete Ergebnisse zurückgeben.If locking is not used, data within the database might become logically incorrect, and queries run against that data might produce unexpected results.

Hinweis

Weitere Informationen zu Zeilensperren in SQL ServerSQL Server, finden Sie unter "Sperren in der DatenbankmodulDatabase Engine" in SQL ServerSQL Server Books Online.For more information about row locking in SQL ServerSQL Server, see "Locking in the DatenbankmodulDatabase Engine" in SQL ServerSQL Server Books Online.

Siehe auchSee Also

Verwalten von Resultsets mit dem JDBC-TreiberManaging Result Sets with the JDBC Driver