FIX: IRL can cause 3307, OS error 6, unhandled server level AVID: Q153855
|
If a table is set to enable Insert - Row Locking (IRL) with "sp_tableoption 'table_name', 'Insert row lock', true" within a transaction and the user fails to end the transaction with 'commit tran' or 'rollback tran' before exiting, it could cause 3307 "Process %ld was expected to hold logical lock on page %ld.", OS error 6, 602 "Could not find row in Sysindexes for dbid '%d', object '%Id',index '%d'." and an unhandled server level access violation (AV).
On a single processor computer, when the user exits without 'commit tran',
it can cause the following error in the errorlog:
Error : 3307, Severity: 21, State: 1
Process 10 was expected to hold logical lock on page 336.
WARNING: Process being freed while holding Dataserver semaphore
udread: Operating system error 6(The handle is invalid.) on device
'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x000009a4).
udread: Operating system error 6(The handle is invalid.) on device
'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00000394).
udread: Operating system error 6(The handle is invalid.) on device
'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00000383).
Buffer 8d3b20 from database 'master' has page number 0 in the page header
and page number 895 in the buffer header
Recursive error 822 in ex_print
mirrorproc: i/o error on primary device 'C:\MSSQL\DATA\MASTER.DAT'
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.
Keywords : kbbug6.50
Version : 6.5
Platform : WINDOWS
Issue type :
Last Reviewed: March 30, 1999