Cursors and Lock Conflicts

Updates are issued through a single database connection including updates that reference a cursor (for example, in an UPDATE WHERE CURRENT OF cursor_name statement). Because of this, locking conflicts do not occur between updates that are issued under the same CONNECT TO, SET CONNECT, or default connection.

Each cursor's retrieval operations are performed through a separate database connection.

The following situations block cursors:

Note

SQL Server internally performs locking at the page level rather than at the row level. This means that a second operation can be locked out by the first cursor operation even though the operations are accessing different rows.