miércoles, 29 de julio de 2009

Error al restaurar una web application en mismo server

Puede suceder que querramos probar dentro del mismo server o máquina virtual realizar un backup de nuestra aplicación sharepoint y restaurarla con otra configuración, es decir, otra url, otro puerto, otra base de datos.

Una vez finalizada la restauración podría aparecer el siguiente error:


Aplicación:
Error del objeto "Aplicacion - puerto" (nombre anterior:
AplicacionAnterior - puertoAnterior) en el evento OnRestore. Para obtener más
información, consulte el registro de errores ubicado en el directorio de copia
de seguridad. SPUpdatedConcurrencyException: Se ha producido un conflicto de
actualización y debe volver a intentar esta acción. DOMAIN\usuario está
actualizando el objeto SPWebApplication Name=Aplicacion - puerto
Parent=SPWebService, en el proceso OWSTIMER, en el equipo SERVIDOR. Para obtener más información sobre el conflicto, vea el archivo de seguimiento.


Base de Datos:
Error del objeto WSS_Content_NombreBD (nombre anterior:
WSS_Content_NombreBDanterior) en el evento OnPostRestore. Para obtener más información, consulte el registro de errores ubicado en el directorio de copia
de seguridad. SPException: No se puede adjuntar la base de datos a la aplicación
Web. Use la herramienta de la línea de comandos o las páginas de la
administración central para adjuntar la base de datos manualmente a la
aplicación Web apropiada.


Comprobamos que en el servidor sql la base de datos ha sido restaurada.

Revisamos la lista de aplicaciones web en el administrador central de sharepoint y se encuentra la aplicación web.

Además revisamos en la sección Bases de Datos de Contenido del administrador central, y efectivamente comprobamos que no fue adjuntada la base de datos nueva a dicha aplicación.


Adjuntamos la base de datos y al finalizar vemos lo siguiente:

  • Nombre de la base de datos: WSS_Content_BD
  • Estado de la base de datos: Iniciado
  • Número actual de sitios: 0
  • Advertencia del nivel de sitio: 9000
  • Número máximo de sitios: 15000

Probamos ir al explorador y escribir la nueva url y nos mostrará un HTTP 404 Not Found.

Revisamos el Event Viewer y aparece el siguiente error:

Event Type: Error

Event Source: Windows SharePoint Services 3

Event Category: Base de datos Event ID: 5763

Date: 18/07/2009

Time: 12:14:13 p.m.

User: N/A

Computer: SERVIDOR

Description:Infracción de clave primaria en la instancia de SQL Server
'SERVIDOR' en la base de datos 'SharePoint_Config'. A continuación se incluye
información adicional de SQL Server sobre el error.

Infracción de la restricción PRIMARY KEY 'PK_SiteMap'. No se puede insertar
una clave duplicada en el objeto 'dbo.SiteMap'.Se terminó la instrucción.

Volviendo al SQL Server comprobamos que tanto la base de datos WSS_Content_DB como WSS_Content_DBanterior en la tabla Sites tienen el mismo id, dicho id de sitio es el que luego se agregará en la tabla SiteMap de SharePoint_Config. Lo que traerá el error.



Solución:


Al restaurarse un sitio dentro de un server se restaura con el mismo ID con el que fue generado, por lo tanto si queremos mantener en el mismo server la versión anterior y luego una versión nueva de la aplicación SharePoint, lo que debemos hacer es lo siguiente desde el administrador central:


  1. Ir a Administración de Aplicaciones -> Bases de Datos de Contenido
  2. Seleccionar la aplicación web anterior
  3. Hacer clic en la base de datos de contenido
  4. Seleccionar la opción, Quitar base de datos de contenido. Esto no eliminará la base de datos sino que hará el desajuntar de la misma. Aceptar.
  5. Cambiar de aplicación web, si ya tiene una base de datos de contenido, y como número actual de sitios dice cero, primero debemos quitarla como lo hicimos en el paso anterior.
  6. Luego hacer clic en Agregar base de datos de contenido,
  7. Ingresar el nombre de la base de datos "versión nueva" que hemos restaurado. y Aceptar.
  8. Verificar que ahora en número actual de sitios dice 1.

Abrir un browser, escribir la nueva url y verificar el funcionamiento del sitio.

Si en algún momento queremos volver a la versión anterior, tendremos que hacer el paso inverso, primero quitar la base de datos del sitio versión nueva (desajuntar) y luego adjuntar la base de datos "versión anterior" a la web application anterior.

sábado, 18 de julio de 2009

Error: Archivo no encontrado

Ante la migración de una web application a otro server, haciendo un backup de la aplicación y luego una restauración de la misma, y además pasando archivos extras que se han desarrollado, por ejemplo, dlls, features, etc.. modificando el web.config, abrimos el explorador y aparece un error con la leyenda "Archivo No Encontrado"

Es probable que en todos los archivos que hemos migrado nos esté faltando alguno, si no está armada una buena documentación de que migrar, y no sabemos que nos puede estar faltando, es conveniente abrir con SharePoint Designer la masterpage que estamos utilizando y revisar el código para comprobar que archivos está necesitando, hacer lo mismo con la página default.aspx.

De esta forma encontraremos rápidamente el archivo faltante, copiamos, e intentamos abrir nuevamente la aplicación con el explorador, si nos vuelve a dar el mismo error, revisar nuevamente el código y si todo está en las carpetas destino que corresponden.

lunes, 13 de julio de 2009

SharePoint 2010


Microsoft presentó el siguiente sitio mostrando algunas de las mejoras que se vienen. Más allá del cambio radical en el diseño gráfico, las mejoras para la administración y el desarrollo son muchas.


Les dejo el link para que tengan un panorama de lo que se viene