Understanding server-side protocol initialization error codes

Understanding server-side protocol initialization error codes

Rate This
  • Comments 18

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

0x70

Unable to initialize the HTTP listener

0x80

Unable to initialize SSL support

Other error states are generally indicative of a system error and may require assistance from CSS.

Il-Sung Lee
Program Manager, SQL Server Protocols

Disclaimer: This posting is provided "AS IS" with no warranties, and confers no rights

 

 

Leave a Comment
  • Please add 6 and 8 and type the answer here:
  • Post
  • I have seen this issue multiple times. So I post the problem and the solution here.
    &amp;nbsp;
    0x5 is ERROR_ACCESS_DENIED,...
  • SQL Server 2005 could fail to bring up due to various causes, there are several great blogs that talk...
  • Hi pkrzysz,

    The status code 0x1d signifies a duplicate machine was found on the network.  If you type "net helpmsg 52" (0x34 = 52), then you'll see that this is the case:

    "You were not connected because a duplicate name exists on the network. Go to System in Control Panel to change the computer name and try again."

    Looks like you need to rename one of the 2 machines that have been assigned the same hostname.

    Il-Sung.
  • I really believe that if one could explain the

    above error code terminology, in simple to understand laymans english, it could be a real winner. I get quite a few error code pop-ups on my PC. So if I were able to make some sense out of them, it may be something I could be

    deal with myself.

    Then again..If what you have explained, on the above error state boxes, could be for PC techs

    and administrators only. If that is the case... I'll have to apologize for wasting your

    time.

    Cheers Carl

  • Hi Carl,

    The above information is primarily targetted for the DB and OS administrators.

    Il-Sung.

  • First check if the firewall or antivirus blocks port number ( default ) 1433 under which SQL Server 2005 runs

    go to command prompt

    type command:

    telnet <Ip address>  1433

    It will connect and a blank screen is visible then you can close the window..

    Then Under SQL Server 2005 configuration manager

    1) The Protocol name VIA must me disabled

    2) Click on TCP/IP protocol name

       set the IP address as follows

       IP1

       Active : Yes

       Enabled: No

       IP address: <Ip address of your machine>

       TCP Dynamic ports:0

       TCP Port: 0

       IP2

       Active: Yes

       Enabled : No

       IP address: 127.0.0.1

       TCP Dynamic ports:0

       TCP Port: 0

       IN All:

       TCP Dynamic ports:1360

       TCP Port: 0

  • First check if the firewall or antivirus blocks port number ( default ) 1433 under which SQL Server 2005 runs

    go to command prompt

    type command:

    telnet <Ip address>  1433

    It will connect and a blank screen is visible then you can close the window..

    Then Under SQL Server 2005 configuration manager

    1) The Protocol name VIA must me disabled

    2) Click on TCP/IP protocol name

       set the IP address as follows

       IP1

       Active : Yes

       Enabled: No

       IP address: <Ip address of your machine>

       TCP Dynamic ports:0

       TCP Port: 0

       IP2

       Active: Yes

       Enabled : No

       IP address: 127.0.0.1

       TCP Dynamic ports:0

       TCP Port: 0

       IN All:

       TCP Dynamic ports:1360

       TCP Port: 0

  • After a DTS run , the SQL Server services from remote is disabled with this message:

    [Microsoft][ODBC SQL Server Driver][DBNETLIB] SSL Security Error

  • I'm getting the following in my log. No one seems to have an answer to this. It's SQL 2005 express on a vista machine

    Starting up database 'model'.

    2008-10-01 14:14:55.51 Server Error: 17182, Severity: 16, State: 1.

    2008-10-01 14:14:55.51 Server TDSSNIClient initialization failed with error 0x2, status code 0x80.

    2008-10-01 14:14:55.51 Server Error: 17182, Severity: 16, State: 1.

    2008-10-01 14:14:55.51 Server TDSSNIClient initialization failed with error 0x2, status code 0x1.

    2008-10-01 14:14:55.51 Server Error: 17826, Severity: 18, State: 3.

    2008-10-01 14:14:55.51 Server Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.

  • PingBack from http://www.hilpers.fr/374934-hs-sql-serveur-2005-a

  • PingBack from http://patiochairsite.info/story.php?id=30038

  • Hi!

    Could someone help me understand what following logs mean?

    2009-11-18 00:18:50.70 spid7s      Starting up database 'model'.

    2009-11-18 00:18:50.70 Server      Error: 17182, Severity: 16, State: 1.

    2009-11-18 00:18:50.70 Server      TDSSNIClient initialization failed with error 0x2, status code 0x80.

    2009-11-18 00:18:50.70 spid4s      Server name is 'TRAINING\SQLEXPRESS'. This is an informational message only. No user action is required.

    2009-11-18 00:18:50.70 Server      Error: 17182, Severity: 16, State: 1.

    2009-11-18 00:18:50.70 Server      TDSSNIClient initialization failed with error 0x2, status code 0x1.

    2009-11-18 00:18:50.70 spid4s      Starting up database 'msdb'.

    2009-11-18 00:18:50.70 Server      Error: 17826, Severity: 18, State: 3.

    2009-11-18 00:18:50.70 Server      Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.

    2009-11-18 00:18:50.70 Server      Error: 17120, Severity: 16, State: 1.

    2009-11-18 00:18:50.70 Server      SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.

    In table above I could not see what 0x2 error code could mean...

    following advise - net helpmsg 2 shows cannot find the file specified - but which file or folder? Our suspicion is related to customer who altered default right access for 'network service' account.

  • For questions like this, please post it to the MSDN SQL Server Data Access Forum, which is much more suited to answering questions than are the MSDN blogs:

    http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/

    As you mentioned, error 0x2 is File Not Found. The state 0x80 points to an SSL initialization failure.

    Given your mention of access problems, can you confirm that the SQL Server service account has access to the registry keys governing network protocols (including SSL)? For SQL Server 2005 or higher versions, those would be at (replacing !INSTANCEID! with the appropriate value for your instance):

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\!INSTANCEID!\MSSQLServer\SuperSocketNetLib

    I think that a permissions problem would give you error 0x5, Access Denied, though, not 0x2, File Not Found. I believe you could hit this error/state if some of the registry entries at that same location were accidentally deleted. Running "Repair" on the SQL Server instance from Add/Remove Programs should resolve that problem, if any are missing.

  • The user that is running setup is not using Administrator account, but account in use belong to Administrators group. When it comes to SQL Service account we have been trying both installing with default accounts (NT Authority\Network Service) and to get rid of potential lack of privileges for this account we have been using NT Authority\Local System account. I guess that it is hard to imagine that Local System account has limited access to registry (if that is a problem with access to registry) or to a resource on disk (if we can access registry which tells about where to look for some dll file and than access to dll is denided).

    If that would help I can provide full logs from few installation attempts. Unfortunately since this situation does happen on board of the vessel (no internet means no remote access) grabbing some files or asking unexperienced user to do perform some action is the only thing we can do. Recently we asked to export full registry from the system so soon I will know more about the case.

    And of course BIG THANKS for helping me!

Page 1 of 2 (18 items) 12