domingo, 7 de noviembre de 2010

Video-Tutoriales de iniciación a SharePoint 2010

How to setup / install Sharepoint Server 2010 in 2 tier configuration




Introducing SharePoint Designer 2010

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

martes, 14 de septiembre de 2010

Ebooks SharePoint 2010

Ya disponemos de gran cantidad de libros sobre SharePoint 2010, tanto desde la perspectiva de administración de sistemas como de desarollo, para muestra el siguiente listado de Amazon:

http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=SharePoint+2010&x=0&y=0

Dentro de la parte de administración, recomiendo 2 colecciones que especialmente me gustan de Microsoft Press:

Por un lado el "Administrator's Pocket Consultant", libro de tamaño pequeño, manejable y precio asequible que recoge todo lo básico para afrontar la administración del producto

http://www.amazon.com/Microsoft-SharePoint-Administrators-Pocket-Consultant/dp/0735627223/ref=sr_1_14?ie=UTF8&qid=1286097301&sr=8-14

Y por otro, el volumen con toda la documentación al detalle, "Administrator's Companion"

http://www.amazon.com/Microsoft-SharePoint-2010-Administrators-Companion/dp/0735627207/ref=sr_1_6?ie=UTF8&qid=1286097301&sr=8-6

Buscando por Internet uno se encuentra cosas como esto y esto...

miércoles, 30 de junio de 2010

Plantillas de sitio de Microsoft para Windows SharePoint Services 3.0, MOSS 2007 y su actualización a SharePoint 2010

Microsoft distribuyó con la salida de MOSS 2007 una serie de plantillas de sitio muy útiles de manera gratuita. Pueden localizarse en:

http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb407286.aspx

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5807b5ef-57a1-47cb-8666-78c1363f127d&displaylang=en

Para la instalación desatendida de las plantillas puede utilizarse un fichero bat como el siguiente, con las adaptaciones correspondientes en las rutas:

PATH = %PATH%;C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\BIN

xcopy "C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033" "C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\3082" /s /h /y

stsadm -o addsolution -filename ApplicationTemplateCore.wsp
stsadm -o deploysolution -name ApplicationTemplateCore.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename helpdesk.wsp
stsadm -o deploysolution -name helpdesk.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename AbsenceVacationSchedule.wsp
stsadm -o deploysolution -name AbsenceVacationSchedule.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename BudgetingTrackingMultipleProjects.wsp
stsadm -o deploysolution -name BudgetingTrackingMultipleProjects.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename BugDatabase.wsp
stsadm -o deploysolution -name BugDatabase.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename CallCenter.wsp
stsadm -o deploysolution -name CallCenter.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ChangeRequest.wsp
stsadm -o deploysolution -name ChangeRequest.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ComplianceProcessSupport.wsp
stsadm -o deploysolution -name ComplianceProcessSupport.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ContactsManagement.wsp
stsadm -o deploysolution -name ContactsManagement.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename DocumentLibraryReview.wsp
stsadm -o deploysolution -name DocumentLibraryReview.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename EventPlanning.wsp
stsadm -o deploysolution -name EventPlanning.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ExpenseReimbursementApproval.wsp
stsadm -o deploysolution -name ExpenseReimbursementApproval.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename InventoryTracking.wsp
stsadm -o deploysolution -name InventoryTracking.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ITTeamWorkspace.wsp
stsadm -o deploysolution -name ITTeamWorkspace.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename JobRequisition.wsp
stsadm -o deploysolution -name JobRequisition.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename KnowledgeBase.wsp
stsadm -o deploysolution -name KnowledgeBase.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename LendingLibrary.wsp
stsadm -o deploysolution -name LendingLibrary.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename PhysicalAssetTracking.wsp
stsadm -o deploysolution -name PhysicalAssetTracking.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename ProjectTrackingWorkspace.wsp
stsadm -o deploysolution -name ProjectTrackingWorkspace.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename RoomEquipmentReservations.wsp
stsadm -o deploysolution -name RoomEquipmentReservations.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

stsadm -o addsolution -filename SalesLeadPipeline.wsp
stsadm -o deploysolution -name SalesLeadPipeline.wsp -allowgacdeployment -immediate
stsadm -o execadmsvcjobs

Por otro lado, con SharePoint 2010 no disponemos de tales plantillas, pero sí de la posibilidad de actualizar desde 2007:

http://blogs.technet.com/b/tothesharepoint/archive/2010/08/18/sharepoint-2010-products-upgrade-and-the-fabulous-40-application-templates.aspx

Copia de seguridad de DLLs de la GAC y herramienta GACUTIL

Comparto los siguientes recursos para copiar DLLs de la GAC:

http://aravindrises.blogspot.com/2008/08/want-to-take-dll-backup-from-gac.html

http://bloggingabout.net/blogs/jschreuder/archive/2006/08/09/13282.aspx

http://msdn.microsoft.com/es-es/library/ex0ss12c%28VS.80%29.aspx

http://code-journey.com/2009/07/03/copy-assembly-dll-to-gac-in-batch-script/

Eliminar SSP

El SSP (Shared Services Provider) por defecto sólo puede eliminarse si es el único SSP en la granja.

Para eliminarlo, bien podemos usar la siguiente url, de acuerdo a nuestra instalación

http://servidor:puerto/_admin/deletessp.aspx?sspiId=numero-identificador

A modo de ejemplo, quedaría así:
http://testserver:3519/_admin/deletessp.aspx?sspId=132642e1-0e75-44a5-bebb-dc8d552fa7b2

o usar por línea de comados:

stsadm –o deletessp –title -force

Donde "title" es el nombre de nuestro SSP.

viernes, 25 de junio de 2010

Centros de recursos de SharePoint 2010

Disponemos ya de una increíble cantidad de documentación online sobre distintos aspectos de SharePoint 2010. Como para no aburrirse...

Referencia para usuarios finales de SharePoint

Aprovechando el lanzamiento de SharePoint 2010, desde Microsoft han rediseñado y modificado distintas webs de soporte, entre ellas la de ayuda para usuarios finales del producto.

Está disponible de manera ordenada y agrupada por temáticas el soporte para usuarios finales de las versiones SharePoint 2003, 2007 y 2010 en:

http://office.microsoft.com/en-us/sharepoint-server-help/?CTT=97

SharePoint 2010 Virtual labs en Technet

En Technet ya disponemos de una serie de interesantes laboratorios virtuales online para probar las funcionalidades de la plataforma SharePoint 2010. Se agradece tener un buen ancho de banda.

miércoles, 23 de junio de 2010

Programar backups para SQL Server Express

Para el no deseable caso de que nuestra instalación de SharePoint se haya realizado contra SQL Server Express, pues sólo es recomendable para maquetas, entornos de desarrollo o de test de poco volumen, nos encontraremos con la limitación a la hora de programar los backups de las bases de datos implicadas, aparte de que otra de las limitaciones principales es el límite de 4GB por base de datos.

SQL Express 2005 y 2008 no tienen incluido el "SQL Agent", que es el que permite programar JOBS para ejecutar tareas de manera periódica en las bases de datos.

Como solución externa, se puede seguir el siguiente procedimiento, que básicamente realiza el backup vía "script" a través de las tareas programadas de Windows:

1. Buscamos el ejecutable de "sqlcmd.exe".
Para SQL Express 2005 se encuentra en:
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\sqlcmd.exe"
Y para SLQ Express 2008:
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe"

2. Desde la interfaz gráfica del Management Studio podemos seguir los pasos para realizar el backup, pero justo antes de finalizar lo que hacemos es guardar el "script". Dentro del management studio colocamos la ruta donde deseamos guardar nuestro backup y seleccionamos las opciones que deseamos. Luego hacemos clic en el boton que nos permite generar el script, y seleccionamos la opción "Script Action to New Query Windows" y guardamos el archivo o seleccionamos "Script Action to File".





Esto nos generará una salida de fichero "NombreScript.sql" del tipo:

BACKUP DATABASE [NombreBaseDatos] TO DISK = N'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\NombreBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'NombreBaseDatos-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

3. Creamos un archivo .bat que es el que vamos a programar por a través de las tareas programadas de Windows ("Task Scheduler"). Dentro del archivo bat colocamos el siguiente comando (p.e. para SQL Server Express 2008):

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd.exe" -S NOMBRESERVIDOR -i C:\Sistemas\NombreScript.sql -o C:\Sistemas\Restore.log

Importante mantener las comillas (") dentro de la parte inicial del comando ya que como la ruta contiene un espacio es necesario definirlo de esta manera. SRVNAME se debe reemplazar por el nombre correspondiente del servidor, C:\Sistemas\NombreScript.sql debe ser la ruta donde se guardó el script que realiza el backup y C:\Sistemas\Restore.log debe ser la ruta donde se desea guardar el log de restauración.

4. Por último desde el Programador de Tareas ("Task Scheduler"), se crea una nueva tarea para ejecutar el bat y se define la periodicidad de la ejecución.

Por último, algunos recursos interesantes sobre SQL Server Express:

- Referencia en Microsoft
http://www.microsoft.com/express/Database/

- Limitaciones de SQL Server Express
http://www.sqlserversi.com/2009/08/sql-server-2008-express-limitaciones.html

- Descarga de SQL Server Express 2005
http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=220549b5-0b07-4448-8848-dcc397514b41

- Descarga de SQL Server Express 2008
http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff

Registro de ASP.NET sobre IIS 6.0

Puede que nos encontremos con que nuestra instalación de IIS 6.0 no tenga registrado el componente de ASP.NET, para ello una vez instalado el correspondiente paquete de Microsoft. NET Framework (a partir del 2.0), deberemos ejecutar la siguiente instrucción:

- 32 bits

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable

-64 bits

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i -enable

sábado, 22 de mayo de 2010

Contingencia en SharePoint (Using database mirroring )

En entornos productivos donde el presupuesto y la entidad lo permitan, nos encontraremos con la necesidad de establecer mecanismos de contingencia más allá de disponer de varios frontales en nuestra granja o de disponer de un cluster de SQL Server en el back-end.

Se nos presenta la posibilidad de establecer un "mirroring" a nivel de SQL Server en 2 escenarios: Para la misma granja y entre 2 granjas distintas (la primaria y la de contingencia).

Más allá de lo que nos va a tocar "pegarnos" con las peculiaridades de replicación del producto, Microsoft nos propone el diseño de sus soluciones de contingencia en el siguiente "White paper":

Using Database Mirroring with Office SharePoint Server and Windows SharePoint Services