FIX: SQL Server Access Violation During SSL Connection (312948)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q312948
BUG #: 354184 (SHILOH_BUGS) BUG #: 354082 (SHILOH_BUGS)

SYMPTOMS

SQL Server 2000 may encounter an exception (access violation) during client logons when either the client or the server is configured for encrypted network communications (SSL encryption).

CAUSE

This exception is caused by a failed memory allocation during a connection request to SQL Server when Network Library protocol encryption is enabled.

RESOLUTION

To resolve this problem, obtain the latest service pack for SQL Server 2000 or the latest service pack for MDAC 2.6. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

300635 INFO: How to Obtain the Latest MDAC 2.6 Service Pack

If you apply SQL Server 2000 Service Pack 2 (SP2) to a server on which certificates are installed, and the Force Protocol Encryption option is set to ON in the server network utility, please refer to the following Microsoft Knowledge Base article:

312637 SQL Server 2000 Service Pack 2 Setup Fails on a Server That Has Certificates Installed and Force Protocol Encryption Set ON

WORKAROUND

To work around this issue, disable Network Library protocol encryption by clicking to clear the Force Protocol Encryption check box in the Server network utility and/or the Client network utility.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2 and MDAC 2.6 Service Pack 2.

MORE INFORMATION

Under many circumstances, a SQL Server symptom dump may not be generated because of the memory pressure on the server required for the allocation failure. In these cases, information similar to the following will be written to the SQL Server error log. (This stack occurs on SQL Server 2000 SP1.)
2001-11-14 10:35:19.21 server Using 'dbghelp.dll' version '4.0.5' 2001-11-14 10:35:19.21 server CImageHelper::Init () Failed load of symbol file with path = C:\PROGRA~1\MICROS~2\MSSQL\binn\ - Not enough storage is available to process this command.
Symbol load failed - Proceed to dump without any symbols Stack Dump being sent to d:\sql data\MSSQL\log\SQL00079.dmp 2001-11-14 10:35:19.21 server process_commands: Process 2980 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. ******************************************************************************* * * BEGIN STACK DUMP: * 11/14/01 10:35:19 spid 0 * * Exception Address = 78033313 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION * Access Violation occurred writing address 00000000 * * MODULE BASE END SIZE * * Edi: 00000000: * Esi: 01F10FF8: 6C6C6F72 44544E2F 32255645 25415330 6F523032 3225746F * Eax: 01F1121B: 00000000 00000000 00000000 00000000 00000000 00000000 * Ebx: 193A0090: 193A03F8 00000001 00000001 00040300 193A0030 00000006 * Ecx: 00000088: * Edx: 00000003: * Eip: 78033313: 24FFA5F3 03342C95 BAC78B78 00000003 7204E983 03E0830C * Ebp: 02F7E8FC: 02F7E930 42CF896E 00000000 01F10FF8 00000223 5F434553 * SegCs: 0000001B: * EFlags: 00010202: 00460020 006C0069 00730065 00430000 004D004F 00550050 * Esp: 02F7E8F4: 00000040 02F7E9C4 02F7E930 42CF896E 00000000 01F10FF8 * SegSs: 00000023: ******************************************************************************* ------------------------------------------------------------------------------- Short Stack Dump 78033313 Module(UNKNOWN+00000000)
42CF896E Module(UNKNOWN+00000000)
42CF7724 Module(UNKNOWN+00000000)
42CF70A5 Module(UNKNOWN+00000000)
004E8CE9 Module(UNKNOWN+00000000)
004E8C68 Module(UNKNOWN+00000000)
004E8C25 Module(UNKNOWN+00000000)
00411E20 Module(UNKNOWN+00000000)
00660809 Module(UNKNOWN+00000000)
41073379 Module(UNKNOWN+00000000)
41073071 Module(UNKNOWN+00000000)
780281C4 Module(UNKNOWN+00000000)
77E77E98 Module(UNKNOWN+00000000)
The actual memory address at the top of the call stack may differ, depending on the version of the Microsoft Visual C++ Runtime DLL (msvcrt.dll) on the server.

Modification Type:MajorLast Reviewed:10/16/2003
Keywords:kbbug kbfix kbmdac260sp2fix kbSQLServ2000preSP2Fix KB312948