Microsoft KB Archive/310935

= FIX: Use of a Dynamic API Server Cursor with a NOLOCK Hint Causes Error 1047 =

Article ID: 310935

Article Last Modified on 9/26/2005

-

APPLIES TO


 * Microsoft SQL Server 2000 Service Pack 3a

-



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.



RESOLUTION
To 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

Hotfix
NOTE: 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 &quot;Read Uncommitted&quot; instead of using a NOLOCK optimizer hint.
 * Select a Keyset cursor type instead of a Dynamic cursor type.



STATUS
Microsoft 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.

Keywords: kbbug kbfix kbqfe kbsqlserv2000presp2fix kbhotfixserver KB310935

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.