martes, 30 de diciembre de 2008

Procedimiento de instalación de parches en WSS y MOSS.

Para afrontar la correcta instalación de parches en nuestra granja de Sharepoint me he ido creando mi propia "checklist" de despliegue, dado los problemas que pueden encontrarse durante el upgrade del producto, cosa que es bastante frecuente dado el nivel de parcheo que posee. A diferencia de otros productos, no encontraremos estos parches de manera automática en Windows Update, si no que requieren de nuestra intervención manual.

Me centraré en MOSS 2007, que es el que presenta más dificultades. Obviamente y como recomendación inicial siempre que sea posible hay que probar la actualización en nuestros entornos de pruebas, desarrollo o máquinas virtuales. Los pasos a seguir serían los siguientes:

- Revisar copia de seguridad de las bases de datos y de las colecciones de sitios para asegurarnos de estar al día en caso de una recuperación de desastres (tema del que pretendo escribir en berve):

Con el comando "stsadm –o backup -url http://servidor/ruta -filename ruta_backup.bak" efectuamos la copia a nivel de colecciones de sitios.

Y con "stsadm -o backup -directory ruta_backup -backupmethod full -backupthreads 3" lanzamos una copia de nuestra granja.

- Debemos aprovechar para actualizar parches del sistema operativo bien vía Windows Update o con el sistema del que se disponga. Es recomendable, aunque no necesario, desactivar las actualizaciones automáticas de Windows en caso de que están habilitadas en el momento de instalar los parches de producto de WSS y MOSS.

- Es conveniente detener el servicio W3SVC (Servicio de publicación World Wide Web), si bien el algún momento de la instalación se detendrá Internet Information Services.


- Comprobar la versión de MOSS 2007 actual previa al parche desde la administración central de SharePoint.

Una vez hechas estas comprobaciones previas, procedemos a instalar:

- Ejecutar el parche de WSS 3.0 y después seguir el wizard en los distintos servidores de la granja al mismo tiempo*.

- Ejecutar el parche de MOSS 2007 y después seguir el wizard en los distintos servidores de la granja al mismo tiempo*.

Dependiendo del parche, algunos lanzan el asistente automáticamente y otros tras una primera instalación, nos requieren que ejecutemos manualmente a continuación el Asistente para Configuración de Productos y Tecnologías de Sharepoint (wizard).




















- Una vez instalado sin mensajes de error, comprobar que el cambio de versión há sido efectivo desde la administración central de Sharepoint -> Operaciones -> Servidores del conjunto.

- Desde la administración central de SharePoint, ver el estado de trabajos de temporizador en Operaciones -> Definiciones de los trabajos (proceso OWSTIMER )**

Para detener ese servicio: net stop sptimerv3

*Hay que llegar al mismo punto de instalación en todos los servidores que nos va a indicar en el primero de ellos (se recomienda el indexador primero y frontales después).

**En caso de error, revisar LOGs de instalación (PSCDiagnostics_) y el fichero UPGRADE.LOG (por defecto en la ruta C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\LOGS), y se pueden volver a lanzar los trabajos desde la administración central o eliminarlos en caso de que se queden sin respuesta.

***Cómo buscar un "job " concreto para pararlo: En la base de datos de configuración de Sharepoint, buscamos en la tabla "dbo.timerunningjobs" por la columna "jobtitle" algún trabajo de "actualización". Usaremos el campo "jobid" de ese registro en la url de nuestra administración central del tipo: http://servidor:XXXXX/_admin/JobEdit.aspx?JobId=YYYYYYYYYYYYYYYYYYYYYYYY
Donde las "X" representan el puerto de administración y las "Y" el jobid que recuperamos de ,la base de datos.






Se puede forzar el Asistente para configuración de Productos y Tecnologías de SharePoint, con la herramienta de línea de comandos psconfig.exe
Desde la ruta “C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\BIN”:
> psconfig –cmd upgrade –force

La referencia de la herramienta está en:
http://technet.microsoft.com/es-es/library/cc288944.aspx

0 Otro problema que podemos encontrar es la actualización de las bases de datos de SharePoint. Con errores del tipo:
En fichero UPGRADE.LOG
[SPManager] [ERROR] [5/20/2009 3:48:55 PM]: Upgrade [SPSearchDatabase Name=WSS_Search_PRECASAPLI01 Parent=SPDatabaseServiceInstance Name=TestSql01] failed.
[SPManager] [ERROR] [5/20/2009 3:48:55 PM]: An update conflict has occurred, and you must re-try this action. The object SPSearchDatabase Name=WSS_Search_PRECASAPLI01 Parent=SPDatabaseServiceInstance Name=TestSql01 is being updated by CASTELLANA\PreMossAdmin, in the OWSTIMER process, on machine PRECASAPLI01. View the tracing log for more information about the conflict.
[SPManager] [ERROR] [5/20/2009 3:48:55 PM]: at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.PutObject(SPPersistedObject obj, Boolean ensure)
at Microsoft.SharePoint.Administration.SPPersistedObject.Update()
at Microsoft.SharePoint.Administration.SPDatabase.Update()
at Microsoft.SharePoint.Search.Administration.SPSearchDatabase.CleanupIf()
at Microsoft.SharePoint.Search.Administration.SPSearchDatabase.Synchronize()
at Microsoft.SharePoint.Search.Administration.SPSearchServiceInstance.ProvisionDatabase()
at Microsoft.SharePoint.Search.Administration.SPSearchServiceInstance.Provision()
at Microsoft.SharePoint.Upgrade.SPSearchDatabaseSequence.EnableAndProvisionSearchNTService()
at Microsoft.SharePoint.Upgrade.SPSearchDatabaseSequence.PostUpgrade()
at Microsoft.SharePoint.Upgrade.SPManager.Upgrade(Object o, Boolean bRecurse)


Y coincidiendo con la misma hora del error, en ficheros de LOG en modo detallado (verbose) de SharePoint
Current user before SqlConnection.Open: Name: USER SID: S-1-5-21-3430773834-3238300530-293674551-41970 ImpersonationLevel: None

Current user after SqlConnection.Open: Name: USER SID: S-1-5-21-3430773834-3238300530-293674551-41970 ImpersonationLevel: None

SqlCommand: 'select @is_member = case when exists (select null from dbo.sysmembers m inner join dbo.sysusers u on u.uid = m.memberuid inner join dbo.sysusers r on r.uid = m.groupuid where (r.name = @role_name and r.issqlrole = 1) and (u.sid = SUSER_SID(@user_name))) then 1 else 0 end' CommandType: Text CommandTimeout: 1800 Parameter: '@is_member' Type: Int Size: 0 Direction: Output Value: '' Parameter: '@role_name' Type: NVarChar Size: 128 Direction: Input Value: 'db_owner' Parameter: '@user_name' Type: NVarChar Size: 128 Direction: Input Value: 'CASTELLANA\PreMossAdmin'
ConnectionString: 'Data Source=PreClusSql\TestSql01;Initial Catalog=WSS_Search_PRECASAPLI01;Integrated Security=True;Enlist=False;Connect Timeout=15' ConnectionState: Closed ConnectionTimeout: 15

Reverting to process identity

Ante esto, podemos:
Comprobar la versión del esquema de la base de datos que no permite ser actualizada con la consulta: SELECT * FROM Versions
Revisar permisos del usuario con el que estamos ejecutando el asistente de configuración de SharePoint para completar la instalación del parche. Debe ser el mismo usuario con el que se instaló la granja.
En caso de errores con las bases de datos de búsquedas de WSS, lo más rápido y sencillo es volver a crearlas desde la administración central de SharePoint (previo backup de la base de datos actual). Para ello detenemos el servicio y volvemos a arrancarlo con el nombre de la nueva base de datos que vamos a generar desde Administración Central -> Operaciones -> Servicios del Servidor -> Windows SharePoint Services Help Search


NOTA IMPORTANTE:
Pueden instalarse los parches durante la instalación de MOSS en red para evitar tener que aplicarlos máquina por máquina una vez instalado el producto.

Para ello hay que extraer los parches deseados a la ruta “\Updates” del directorio de la instalación. Dicha extracción se realiza ejecutando el nombre del archivo del parche seguido del parámetro “/extract:” y la ruta de instalación relativa. P.e.:
X:\>wss-kb960010-fullfile-x86-glb.exe /extract:\MOSS\x86\Updates


Como comentario adicional, mencionar que el servicio mssearch.exe también puede dar problemas durante las instalaciones, si bien no es algo habitual, pero sí me ha sucedido puntualmente.
Podéis encontrar todo tipo de recursos y documentación acerca de la actualización de Sharepoint Server en: http://technet.microsoft.com/en-us/office/sharepointserver/bb735839.aspx















Parches diciembre de 2008.

Este mes de diciembre se han publicado 2 parches de actualización de infraestructura tras los últimos que tuvimos en octubre. Tras actualizar nuestra granja, los servidores aparecerán en la versión 12.0.0.6334.

Dejo los links a la decarga de ambos parches, que hay que solicitar bajo demanda:

- WSS December CU ~80MB
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=960010&kbln=en-us

- MOSS December CU ~300MB
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=960011&kbln=en-us

Comentar que el primero de ellos se modificó en los primeros días por un "bug" que algunos sufrimos en la instalación, se generaba un error poco intuitivo de acceso a las bases de datos de búsqueda de WSS que se solucionaba parando el servicio de búsqueda de WSS durante la instalación.

No sabemos aún de la fecha de publicación del ya anunciado SP2 de WSS 3.0 y MOSS 2007, pero se intuye que aparecerá en los primeros meses de 2009.

jueves, 4 de diciembre de 2008

Planificación de cuentas administrativas y de servicio MOSS.

A la hora de afrontar el diseño e instalación de nuestra infraestructura de Sharepoint deberíamos tener en cuenta las recomendaciones a la hora de elegir las cuentas de servicio que vamos a autilizar. Para ello nada mejor que seguir el "technet" de Microsoft:

http://technet.microsoft.com/es-es/library/cc263445.aspx

Como complemento tenemos el artículo de la Knowlegde Base de soporte, para ayudar con los "resets de passwords" en nuestras cuentas de servicio: "Cómo cambiar cuentas de servicio y contraseñas de cuentas de servicio en SharePoint Server 2007 y en Windows SharePoint Services 3.0" http://support.microsoft.com/kb/934838

La cuestión se reduce a la ejecución de varios comandos stsadm que pueden automatizarse vía script en un fichero .bat.

Sharepoint Database Explorer.

Esta herramienta gratuita nos será muy útil sobre Sharepoint Portal Server 2003 a la hora de recuperar documentos de nuestras bibliotecas sin tener que restaurar un sitio por completo. Esto se solventa parcialmente en MOSS 2007 con el uso de la papelera de reciclaje del producto.

A continuación se describe el procedimiento de uso de Sharepoint Database Explorer que he traducido parcialmente
http://blogs.technet.com/sbs/archive/2007/01/05/using-sharepoint-database-explorer-on-sbs.aspx
En dicho artículo nos dice que la herramienta no está soportada por Microsoft, pero hablando directamente con ellos no hay pega para utilizarla. Hay que tener claro que se pierde el soporte siempre que se actúe directamente sobre el contenido de las tablas de las bases de datos.

Para descargar la herramienta:
http://mindsharpblogs.com/james/archive/2005/01/20/189.aspx


El primer paso para esta operación es averiguar en qué base de datos están almacenados los elementos.

El segundo paso es restaurar el contenido de la base de datos usando los procedimientos estándar de restauración de SQL Server. Este procedimiento no sobre-escribe la base de datos original, por lo que debe ser restaurado en otro servidor.

Una vez que la base de datos ha sido restaurado, debemos ejecutar DataBase Explorer desde el servidor de SharePoint Portal vía sesión de “terminal server” por control remoto y realizar las siguientes acciones:

1 Copiar los ficheros STS_Servername_1.mdf y STS_Servername _1_log.ldf a una ubicación común (En nuestro caso p.e. “STS_srv191_1”).

2. Abrir el Administrador Corporativo de SQL Server (Enterprise Manager).

3. Seleccionar “Adjuntar Base de Datos” (Attach Database)




4. Seleccionar el fichero .MDF del que necesitamos exportar los ficheros.




5. Seleccionar la base de datos a adjuntar.



6. Con la base de datos adjuntada…
Puede comprobarse desde la carpeta de bases de datos en SQL.




7. Abrir SharePoint Database Explorer
a. Seleccionar: File - Set Database Connection.
b. La base de datos debe aparecer en la lista desplegable.





8. Seleccionar la base de datos y mantener los permisos con autentificación de Windows y aceptar..

9. Deberemos ver la lista de las librerías…




10. Seleccionamos las diferentes librerías para ver los documentos disponibles para restaurar.
11. Marcamos el fichero que queremos restaurar y seleccionamos Guardar (“Save”).



12. Guardamos el fichero a una ubicación en disco duro y volvemos a subirlo a su ruta correspondiente en SharePoint.

Referencia de psconfig.exe

Otra herramienta, vía línea de comandos, para lanzar el Asistente para configuración de Productos y Tecnologías de SharePoint, con psconfig.exe

http://technet.microsoft.com/es-es/library/cc288944.aspx

Referencia de stsadm.exe

Referencia completa de la herramienta básica de línea de comandos de administración de MOSS, stsadm.exe:

http://technet.microsoft.com/es-es/library/cc263384.aspx

martes, 2 de diciembre de 2008

Descarga de máquina virtual de MOSS 2007.

Para Virtual PC y Virtual Server, el enlace a la máquina de pruebas que nos ofrece Microsoft:

http://www.microsoft.com/downloads/details.aspx?FamilyID=67f93dcb-ada8-4db5-a47b-df17e14b2c74&DisplayLang=en

Aunque preferimos crearnos nuestras propias máquinas virtuales en VMWARE para estos menesteres, aquí os incluyo información sobre Microsoft Virtual PC:

http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx

Y para los más interesados en estos temas, una herramienta para convertir máquinas VMDK de VMWARE a VHD de Virtual PC: http://vmtoolkit.com/files/default.aspx

Para el camino inverso, de VHD a VMDK el siguiente articulillo:
http://www.ntpro.nl/blog/archives/194-Convert-Virtual-Disks-from-VHD-to-VMDK.html








Nivel de parcheo óptimo MOSS 2007 & WSS 3.0. Otoño 2008.

A la espera del anunciado Service Pack 2 para WSS 3.0 y MOSS 2007, aquí está el nivel de parcheo que deben tener nuestro Sharepoint, un total de 9 parches de producto:

http://blogs.msdn.com/sharepoint/archive/2008/09/29/announcing-august-cumulative-update-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx

Como complemento, incluyo una lista con el versionado de Sharepoint en función de nuestro nivel de parcheo. esto puede comprobarse fácilmente desde la Administración Central de SharePoint, en Administración central > Operaciones > Servidores del conjunto :

MOSS 20071 or WSS 3.0 Cumulative update (KB956056 & KB956057) 12.0.0.6327
MOSS 20071 or WSS 3.0 Infrastructure Update (KB951695 & KB951297) 12.0.0.6318
MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB948945) 12.0.0.6303
MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB941274) 12.0.0.6301
MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB941422) 12.0.0.6300
MOSS 20071 or WSS 3.0 SP1 12.0.0.6219
MOSS 20071 or WSS 3.0 October public update 12.0.0.6039
MOSS 20071 or WSS 3.0 August 24, 2007 hotfix package 12.0.0.6036
MOSS 20071 or WSS 3.0 RTM 12.0.0.4518
MOSS 20071 or WSS 3.0 Beta 2 TR: 12.0.0.4407
MOSS 20071 or WSS 3.0 Beta 2: 12.0.0.4017
Office 12 (PDC image - pre-beta): 12.0.0.3111

lunes, 1 de diciembre de 2008

Mantenimiento de base de datos de Office SharePoint Server 2007

Algo bastante recomendable una vez instalada nuestra granja de MOSS 2007 es realizar un plan de mantenimiento acorde al producto desde SQL Server

El siguiente artículo hace referencia a como optimizar nuestras bases de datos para Moss vía planes de mantenimiento:

"Database maintenance for Office SharePoint Server 2007 (white paper)"
http://technet.microsoft.com/en-us/library/cc262731.aspx

Desde ese "white paper" nos redirigen a la siguiente entrada de la KB de Micrososft, que incluye un procedimiento almacenado a generar y ejecutar en nuestras bases de datos:

"Cómo desfragmentar bases de datos de Windows SharePoint Services 3.0 y bases de datos de SharePoint Server 2007"
http://support.microsoft.com/kb/943345/