First published on MSDN on Jan 10, 2006
With SQL Server 2005, a server-side protocol error will generally prevent the instance from starting. To fascilitate the identification of the source of the problem, the server will write an entry into the errorlog with the following format:
TDSSNIClient initialization failed with error <x>, status code <y>
Where <x> is the error code returned by the underlying communication or security subsystem
<y> is an internal SQL Server protocol error state
The underlying error code, <x>, is typically an error code returned by the Windows network layer or by an SSPI call. For Windows network error codes, the "net helpmsg" command may be able to assist in interpreting the code. SSPI error codes are not as easy to decipher and require searching in the Microsoft knowledge base or looking through the WinError.h file if the platform SDK is installed. However, in many cases, the root of the problem may be determined just from inspecting the error state (more details below).
An example of an error that may be logged is:
TDSSNIClient initialization failed with error 0x80092004, status code 0x38.
The 0x80092004 is an SSPI error code that translates to CRYPT_E_NOT_FOUND and 0x38 is the SQL Server protocol error state that indicates that SSL support could not be started. This error was generated because the SSL layer was unable to load the specified SSL certificate.
The general categories of the SQL Server protocol error states are summarized in the following table:
ERROR STATES
|
PROTOCOL AREA
|
3 (0x03), 64-79 (0x40-0x4F)
|
Shared Memory
|
6-30 (0x09-0x1E)
|
TCP/IP |
31-35 (0x1F-0x23)
|
DAC
|
53 (0x35), 80-95 (0x50-0x5F)
|
Named Pipes
|
54 (0x36), 96-111 (0x60-0x6F)
|
VIA
|
112-127 (0x70-0x7F)
|
HTTP
|
56 (0x38), 128-143 (0x80-0x8F)
|
SSL
|
144-159 (0x90-0x9F)
|
General
|
The next table describes some commonly encountered error states:
ERROR STATE
|
DESCRIPTION
|
0x03
|
Error starting shared memory support
|
0x04
|
All protocols disabled
|
0x0A
|
Unable to initialize the TCP/IP listener
|
0x1C
|
Server configured to listen on a specific IP address in a cluster environment
|
0x1E
|
Duplicate IP address detected in network
|
0x35
|
Error starting named pipe support
|
0x36
|
Error starting VIA support
|
0x38
|
Error obtaining or using the Certificate for SSL
|
0x3A
|
Unable to initialize the communication listeners
|
0x40
|
Unable to initialize the Shared Memory listener
|
0x50
|
Unable to initialize the Named Pipe listener
|
0x60
|
Unable to initialize the VIA listener
|
Updated Mar 23, 2019
Version 2.0SQL-Server-Team
Microsoft
Joined March 23, 2019
SQL Server Blog
Follow this blog board to get notified when there's new activity