Apr
10
2017

Error 17182 – TDSSNIClient initialization failed with error 0xd, status code 0x10

Issue: While trying to restart SQL Service, it failed and following error found in error logs,

 

yyyy-mm-dd hh:mm:ss.xx Server Error: 17182, Severity: 16, State: 1.

yyyy-mm-dd hh:mm:ss.xx Server TDSSNIClient initialization failed with error 0xd, status code 0x10. Reason: Unable to retrieve registry settings from TCP/IP protocol’s ‘IPAll’ configuration key. The data is invalid.

 

yyyy-mm-dd hh:mm:ss.xx Server Error: 17182, Severity: 16, State: 1.

yyyy-mm-dd hh:mm:ss.xx Server TDSSNIClient initialization failed with error 0xd, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. The data is invalid.

 

yyyy-mm-dd hh:mm:ss.xx Server Error: 17826, Severity: 18, State: 3.

yyyy-mm-dd hh:mm:ss.xx 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.

yyyy-mm-dd hh:mm:ss.xx Server Error: 17120, Severity: 16, State: 1.

yyyy-mm-dd hh:mm:ss.xx 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.

 

Troubleshooting:

First, Validated SQL Server configuration manager àSQL Server Network Configuration à Protocols for <SQL Instance Name> à TCP/IP à Under IP Addresses tab à IPAll portion

 

 

Static port was set, just tried to change it to dynamic with same value and deleting from “Tcp Port”, it gave following error, which is strange because updating port numbers and deleting from section won’t give such error,

 

 

To cross verify, went to registry settings as,

 

Regedit à HKLM à Software à Microsoft à Microsoft SQL Server àMSSQLxx_xx.xxxx à MSSQLServer à SuperSocketNetlib à TCP à IPAll

 

 

In this found that TcpPort registry value type is DWORD instead of String,

 

 

So, backed up registry key and then deleted ‘TcpPort’ and recreated it as String type,

 

Now set the value as earlier,

 

And went to SQL Server Configuration manager again and tried to update value there, this time it worked, no error faced,

 

 

 

Restarted SQL server again and it came online just fine. Now reverted back the port value to STATIC again and it worked.

 


 

 

Root Cause:

So issue seemed to be of registry type rather than static or dynamic port; not sure of root cause that what caused the registry change except the case that this server is moved to different OU’s in environment for hardening.

 

Hope it helps someone troubleshooting production issue.

 

Download PDF

About the Author: Nitin G

Indian born, trekker, biker, photographer, lover of monsoons. I've been working full time with SQL Server since year 2005 and blogs to post the content aquired during my research on new topics or fixing issues faced by me as a DBA while working in different kind of projects, hope some of my posts may helps others in SQLDBA community. Everything you read on my blog is my own personal opinion and any code is provided "AS-IS" with no warranties!

Leave a comment

Subscribe to this blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 457 other subscribers

Translate this blog!

EnglishFrenchGermanItalianPortugueseRussianSpanish

Calender

August 2017
M T W T F S S
« May    
 123456
78910111213
14151617181920
21222324252627
28293031  

View Post by Categories

%d bloggers like this: