Tras un reinicio en un cluster de SQL Server detectamos que el servicio de SQL Server no era capaz de levantar, registrándose los siguientes errores en el visor de sucesos y en el fichero ERRORLOG
Error: 26055, Severity: 16, State: 1.
The SQL Server failed to initialize VIA support library [QLVipl.dll]. This normally indicates the VIA support library does not exist or is corrupted. Please repair or disable the VIA network protocol. Error: 0x7e.
Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x7e, status code 0x60.
Error: 17182, Severity: 16, State: 1.
TDSSNIClient initialization failed with error 0x7e, status code 0x1.
Error: 17826, Severity: 18, State: 3.
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.
Error: 17120, Severity: 16, State: 1.
SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
En el siguiente artículo se detalla todo el listado de errores posibles:
http://blogs.msdn.com/b/sql_protocols/archive/2006/04/28/585835.aspx
En nuestro caso, la solución apuntaba a deshabilitar el protocolo VIA, que no nos era necesario:
20. TDSSNIClient initialization failed with error , status code 0x60
This is most common error if have VIA protocol enabled but no VIA support. And normally, there is a special error info in front of this status code, like:
Error: 26055, Severity: 16, State: 1.
2006-04-20 18:42:26.10 Server The SQL Server failed to initialize VIA support library [QLVipl.dll]. This normally indicates the VIA support library does not exist or is corrupted. Please repair or disable the VIA network protocol. Error: 0x7e
So, it is much easier to figure out what was wrong, in such situation, just simply disable VIA or fix the corrupt library.
Una vez hecho esto, obteníamos otro error en el visor de sucesos, en concreto:
“The configuration of the AdminConnection\TCP protocol in the SQL instance XXXXXXXXXX is not valid”
La solución la encontramos basándonos en las ideas manejadas en este artículo:
http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/a11f5068-9c37-46e2-bc04-f1862969d938
Finalmente la solución pasó por revisar toda la configuración, que se había perdido, de los protocolos TCP/IP desde la consola de “SQL Server Configuration Manager”, en concreto el parámetro TcpDynamicPorts a 0.