PRB: SQL 2000 Server Fails to Start Due to Exception Access Violation After You Configure a High Lock Value (309435)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
This article was previously published under Q309435
BUG #: 355795 (SHILOH_BUGS)
SYMPTOMS
After you increase the SQL Server 2000 locks configuration value to a significantly higher value, SQL Server 2000 fails to start due to a fatal Exception Access Violation (AV). The AV may occur on both SQL Server 2000 RTM and SQL Server 2000 Service Pack 1 (SP1). The SQL Server 2000 error log will have stack information that is similar to:
2001-10-04 15:45:50.87 server SqlDumpExceptionHandler: Process 2608 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
*******************************************************************************
*
* BEGIN STACK DUMP:
* 10/04/01 15:45:50 spid 0
*
* Exception Address = 0082EAEC (LockManager::AllocateLockOwnerBlocks + 00000047 Line 0+00000000)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 00000034
*
* MODULE BASE END SIZE
* sqlservr 00400000 00B0EFFF 0070f000
* ntdll 77F80000 77FFAFFF 0007b000
* KERNEL32 77E80000 77F34FFF 000b5000
* ADVAPI32 77DB0000 77E0AFFF 0005b000
* RPCRT4 77D40000 77DAFFFF 00070000
* USER32 77E10000 77E73FFF 00064000
* GDI32 77F40000 77F7BFFF 0003c000
* OPENDS60 41060000 41065FFF 00006000
* MSVCRT 78000000 78045FFF 00046000
* UMS 41070000 4107CFFF 0000d000
* SQLSORT 42AE0000 42B6FFFF 00090000
* MSVCIRT 780A0000 780B1FFF 00012000
* sqlevn70 41080000 41086FFF 00007000
* dbghelp 72A00000 72A2CFFF 0002d000
*
* Edi: 00000000:
* Esi: 00A006A0: 19122020 19124020 28F90020 00020000 00000001 00000000
* Eax: 00000000:
* Ebx: 00000000:
* Ecx: 000BA150: 00000000 00000000 00000000 00000000 00030002 00080100
* Edx: 00000CEA:
* Eip: 0082EAEC: 0C3440F6 C319850F 40F7FFD1 00410130 0C850F00 5FFFD1C3
* Ebp: 00C4F694: 00C4F6CC 0054AAE7 0007A120 00000000 000B9478 000B9478
* SegCs: 0000001B:
* EFlags: 00010212: 004B0044 004C005C 00620069 0000005C 0055004E 0042004D
* Esp: 00C4F680: 0007A120 00A006A0 0007A120 1AFE6100 00000000 00C4F6CC
* SegSs: 00000023:
*******************************************************************************
-------------------------------------------------------------------------------
Short Stack Dump
0082EAEC Module(sqlservr+0042EAEC) (LockManager::AllocateLockOwnerBlocks+00000047)
0054AAE7 Module(sqlservr+0014AAE7) (LockManager::Init+0000021E)
00549C0A Module(sqlservr+00149C0A) (StartUp::InitServerComponents+00000858)
00547100 Module(sqlservr+00147100) (sqlservr_main+0000016A)
77DC9571 Module(ADVAPI32+00019571) (CreateProcessWithLogonW+000000C8)
-------------------------------------------------------------------------------
2001-10-04 15:45:52.51 server SQL Server is aborting. Fatal exception c0000005 caught.
WORKAROUND
To work around the problem, start SQL Server 2000 in minimal configuration mode by using Sqlservr.exe with the -c -f option and reconfigure the locks value to dynamic.
For example, use these steps:
- At a command prompt, navigate to the path where the SQL Server 2000 instance is installed and use the following:
- For a SQL Server 2000 Default Instance:
Navigate to the Binn folder where the SQL Server 2000 default instance is installed and run the following command:
sqlservr.exe -c -f
- For a SQL Server 2000 Named Instance:
Navigate to the Binn folder where the SQL Server named instance is installed and run the following command:
sqlservr.exe -c -f -s Instance_Name
- Connect to SQL Server through Query Analyzer, and then run this code:
sp_configure 'locks ', 0
go
reconfigure with override
go
- Navigate to the command prompt described in step 1, and then press CTRL+C. To shut down the SQL Server 2000 instance, type:
y
Modification Type: | Major | Last Reviewed: | 10/3/2003 |
---|
Keywords: | kbprb KB309435 |
---|
|