FIX: Use of a Dynamic API Server Cursor with a NOLOCK Hint Causes Error 1047 (310935)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions) 8.0
This article was previously published under Q310935
BUG #: 355759 (SHILOH_BUGS)
SYMPTOMS
If you open a Dynamic API server cursor with a NOLOCK optimizer hint, this error message occurs:
Server: Msg 1047, Level 15, State 1, Line 1
Conflicting locking hints specified.
RESOLUTIONTo resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack
HotfixNOTE: The following hotfix was created prior to Microsoft SQL Server 2000 Service Pack 2.
The English version of this fix should have the following file attributes or later:
Date Time Version Size File name
----------------------------------------------------------
10/21/2001 11:45 pm 8.00.459 7237 KB Sqlservr.exe
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.
WORKAROUND
To work around the problem, use any one of the following methods:
- Use a Transact-SQL cursor (Declare Cursor) instead of the API Server cursor to open the cursor.
- Set the Isolation Level to "Read Uncommitted" instead of using a NOLOCK optimizer hint.
- Select a Keyset cursor type instead of a Dynamic cursor type.
STATUSMicrosoft has confirmed that this is a problem in Microsoft SQL Server 2000. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2.
The problem does not occur in Microsoft SQL Server 7.0.
Modification Type: | Minor | Last Reviewed: | 9/26/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kbfix kbSQLServ2000preSP2Fix KB310935 |
---|
|