lunes, 4 de octubre de 2010

Error en el inicio de IIS 6

Hace unos días me tuve que enfrentar a un IIS 6 que inesperadamente no arrancaba con un "orientativo" error en el visor de sucesos indicando que el servicio IIS Admin no era capaz de levantarse porque "el identificador especificado no es válido".

Event ID: 7023
Source: Service Control Manager
Description: The IIS Admin Service service terminated with the following error: The handle is invalid.

Ante este error lo primero que encontré fue el siguiente artículo de la KB de Microsoft en el que se hace alusión a un problema con la "machine key" RSA de IIS, afectando a la metabase:
http://support.microsoft.com/kb/884872

Posteriormente y tras indagar más buscando en google, finalmente los pasos a seguir para solucionarlo fueron:

  1. Hacer backup del fichero systemroot\System32\Inetsrv\metabase.xml
  2. Desinstalar IIS
  3. Volver a instalar IIS
  4. Aplicar permisos de escritura a la cuenta de servicio de IWAM_xxx sobre el directorio "C:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys" y sus subdirectorios
  5. Restaurar el fichero de metabase copiado
  6. Reinstalar ASP.NET con el comando C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
Con estos pasos debería bastar. Si bien me he encontrado con un caso similar a éste en el que además de los pasos anteriores, hubo que restaurar permisos NTFS a nivel de todo el disco y restablecer permisos manualmente en la consola de Component Services en el apartado MSDTC.

Error al iniciar servicios de SQL Server

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.

domingo, 3 de octubre de 2010

SharePoint Manager 2010 de CODEPLEX

Interesante herramienta gratuita que ya estaba disponible para MOSS 2007:

http://spm.codeplex.com/

Permite una exploración a través del modelo de objetos de nuestra granja de SharePoint, especialmente útil para desarrolladores, a los administradores también nos puede ayudar para tener una visión global y específica de toda la estructura de nuestra granja a nivel de sitios, bibliotecas, listas...

viernes, 1 de octubre de 2010

Error al crear aplicación web en SharePoint

Un error común que puede aparecernos al intentar crear una nueva aplicación web desde la administración central de SharePoint es el siguiente:

“path specified cannot be used at this time. (Exception from HRESULT: 0x80070094)” Error While Creating New Web Application On a Multi-Server SharePoint Farm

Generalmente se soluciona reiniciando el servicio Windows SharePoint Services Timer Service en el servidor con la Administración Central dentro de la granja de SharePoint. Desde línea de comandos con:

net stop sptimerv3

net start sptimerv3

Si tras el reinicio de dicho servicio, seguimos obteniendo el error, entonces seguiremos los siguientes pasos:

  1. IISRESET en todos los servidores de la granja
  2. Reinicio del servicio en Windows SharePoint Services Timer Service en todos los servidores de la granja
  3. Crearemos manualmente un nuevo "application pool" en IIS destinado a nuestra nueva "web application" de SharePoint:
    • Usando la plantilla de "Default App Pool"
    • Con la cuenta de AD necesaria en el apartado identidad
  4. IISRESET en todos los servidores nuevamente
  5. Finalmente, desde la Administration Central crearemos la nueva "web application", seleccionando el nuevo "application pool" que hemos generado previamente