Knowledge Base

BUG: Locks Held Using Optimistic Concurrency with No Unique Index

Article ID: 172694

Article Last Modified on 2/22/2005


APPLIES TO


This article was previously published under Q172694
BUG #: 17161 (NT: 6.5)

SYMPTOMS

A dynamic or forward-only cursor opened with optimistic concurrency using either timestamps (OPTCC) or values (OPTCCVAL) will incorrectly hold a Sh_intent lock on the pages from which the rows were fetched. This problem occurs only if there is no unique index on the table.

WORKAROUND

To work around this problem, create a unique index on the table.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5.

MORE INFORMATION

This problem does not occur with keyset or insensitive cursors because they default to read-only with no unique index.

Additional query words: ODBC SQL_CONCUR_ROWVER SQL_CONCUR_VALUES

Keywords: kbbug kbprogramming kbusage KB172694