martes, 8 de abril de 2014

Noticia Importante Microsoft aumenta la capacidad de One Drive a un 1 TB y libera almacenamiento adicional ilimitado en SharePoint Online

Esta es una noticia importante y esperada para los clientes de Office 365.

El servicio denominado One Drive for Business (antes Sky drive) que no es otra cosa para los que conocemos las versiones On Premises de SharePoint que los sitios personales de cada usuario disponible en la aplicación de Servicio llamada Perfiles de Usuario de SharePoint ahora puede almacenar hasta 1 TeraByte de información por Usuario y para los usuarios de SharePoint Online pueden comprar el espacio que desee sin restricción para las colecciones de sitios internos y públicos.  Eso sí, aplica solo para los planes corporativos (E1,E2,E3,E4) y educacionales (A2,A3,A4).

Así luce mi One Drive (vea con detenimiento el URL y verá lo que le comente arriba)

image

Esto trae un gran desafío para otros proveedores de productos similares como drop-box, que aunque no pueden consolidarse dentro de una organización, son ampliamente utilizados por muchos usuarios.

image

Para los que se preguntan el precio de cada GB por usuario y por mes:

image

https://onedrive.live.com/about/en-us/plans/

 

Microsoft deja claro que acompañará a su creciente masa de usuarios corporativos en su crecimiento y que puede confiar que Microsoft contará con la infraestructura y tecnología para soportar grandes volúmenes de información.

image

Los dejo con la noticia original:

http://blogs.office.com/2014/03/14/sharepoint-online-announces-1tb-site-collections-and-unlimited-tenant-storage-scale/

SharePointOnline4MuchMore!,

Juan Manuel Herrera Ocheita

martes, 25 de marzo de 2014

Solucionando el error READPAST lock in the READ COMMITTED en HealthReport.aspx para SharePoint 2013

 

El detalle del error que muestra es el siguiente:

Application error when access /_admin/HealthReport.aspx, Error=You can only specify the READPAST lock in the READ COMMITTED or REPEATABLE READ isolation levels.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)     at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)     at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)     at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)     at System.Data.SqlClient.SqlDataReader.Read()     at System.Data.Common.DataAdapter.FillLoadDataRowChunk(SchemaMapping mapping, Int32 startRecord, Int32 maxRecords)     at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)     at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)     at Microsoft.SharePoint.Administration.SPHealthReportFactory.LoadAdapter.FillFromReader(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)     at Microsoft.SharePoint.Administration.SPHealthReportFactory.GetReportData(String reportName)     at Microsoft.SharePoint.WebControls.HealthDataSourceView.Select(DataSourceSelectArguments selectArguments)     at Microsoft.SharePoint.WebControls.AdministrationDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)     at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)     at System.Web.UI.WebControls.DataBoundControl.PerformSelect()     at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()     at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Esto nos impide ver el informe de mantenimiento en la sección de Supervidor del Central Administration.

Gracias al Blog de Jason Lee´s que nos da respuestas correctas para problemas reales.   Según explica Jason hay un procedimiento almacenado en la base de datos de WSS_Logging mal escrito y esto impide que se pueda consultar el reporte.

Lo curioso de ello es que el problema esta desde la versión RTM y en el cliente que me dio error tiene una versión superior y de todos modos el error persiste.  La versión de mi cliente es 15.0.4481.1005 que básicamente es la actualización obligatoria de Marzo del 2013. 

El Store Procedure en mención al artículo que resuelve el problema puedo confirmarlo es el mismo. Abajo les muestro el SP de la versión del SharePoint de mi cliente:

USE [WSS_Logging]
GO
/****** Object:  StoredProcedure [dbo].[proc_GetSlowestPages]    Script Date: 03/25/2014 10:18:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proc_GetSlowestPages]
   @StartTime           datetime = NULL,
   @EndTime             datetime = NULL,
   @WebApplicationId    uniqueIdentifier = NULL,
   @MachineName         nchar(128) = NULL,
   @MaxRows             bigint = 100
AS
BEGIN
    SET NOCOUNT ON
    SELECT TOP(@MaxRows)
         ServerUrl +
         CASE  ISNULL(SiteUrl,'')+ ISNULL(WebUrl,'')
             WHEN '/' THEN '' ELSE ISNULL(SiteUrl,'')+ ISNULL(WebUrl,'')
         END
         +ISNULL(DocumentPath,'')
         +ISNULL(QueryString,'') AS Url,
        CONVERT(float,AVG(Duration))/1000 AS AverageDuration,
        CONVERT(float,MAX(Duration))/1000 AS MaximumDuration,
        CONVERT(float,MIN(Duration))/1000 AS MinimumDuration,
        AVG(QueryCount) AS AverageQueryCount,
        MAX(QueryCount) AS MaximumQueryCount,
        MIN(QueryCount) AS MinimumQueryCount,
        COUNT(*) AS TotalPageHits
    FROM dbo.RequestUsage WITH (READPAST) 
    WHERE PartitionId in (SELECT PartitionId from dbo.fn_PartitionIdRangeMonthly(@StartTime, @EndTime))
    AND  LogTime BETWEEN @StartTime AND @EndTime
    AND (@WebApplicationId IS NULL OR  WebApplicationId = @WebApplicationId)
    AND (@MachineName IS NULL or MachineName = @MachineName)
    GROUP BY ServerUrl,SiteUrl,WebUrl,DocumentPath,QueryString
    ORDER BY AVG(duration) DESC
END

La solución prácticamente es eliminar la línea WITH (READPAST) del procedimiento proc_GetSlowestPages de la base de datos WSS_Logging.  Yo lo hice y me funciono el error, para lo que sabes algo de SQL Server esto no tiene ninguna implicación importante que afecte de alguna forma el SharePoint, únicamente se esta corrigiendo un código en SQL mal escrito.

 

image

Interesante el artículo que menciona que Ms no se opone a que se corrija el problema especialmente con temas de visualización y no de operación.  Así que todo depende de Usted.

El artículo que menciono lo puede encontrar en la siguiente dirección: http://www.jrjlee.com/2012/11/problems-viewing-health-reports-in.html

Hasta la próxima!,

Juan Manuel Herrera

lunes, 24 de marzo de 2014

Cómo Provisionar de nuevo el Caché Distribuido de SharePoint 2013

Este amigo, es algo picky y no permitirá que se reinicie desde la interfaz gráfica del Central Administration de SharePoint 2013.  si por alguna razón se ha detenido y ya no lo puede levantar, sigua el siguiente procedimiento desde Management Shell de SharePoint 2013:

PS c:\> Get-SPServiceInstance | where {$_.TypeName –like “*distrib*”}

-- Mostrará como resultado lo siguiente ---

TypeName                     Status    Id

Distributed Cache            Disable    xxxxxx-xxx-xxx-xxx-xxxxxxxx

Ahora que conocemos el id podemos desintalarlo temporalmente$srevicio

PS C:\> $dis = Get-SPServiceInstance e4feaefe-70fe-43c7-abf5-858da9c
ce466

PS C:\> $dis.Unprovision()

Y luego lo “Provisionamos” de nuevo

PS C:\> $dis.Provision()

Si esto le falla entonces elimínelo por completo y luego vuélvalo a crear, de la siguiente forma:

PS C:\> $dis.delete()

PS C:\> Add-SPDistributedCacheServiceInstance

Valide si esta Online y no disable con el query de arriba:

PS c:\> Get-SPServiceInstance | where {$_.TypeName –like “*distrib*”}

Si todavía le aparece Disable vuelva a ejecutar el método UnProvision y luego Provision y con eso debe de cambiar de estado a Online, como se muestra abajo:

 

image

Y eso es todo con ello debería de levantarse el servicio de Caché Distribuido o Permitir que UD. lo levante.

Información Oficial en: http://technet.microsoft.com/en-us/library/jj219613(v=office.15).aspx

Hasta la próxima!,

Juan Manuel Herrera Ocheita

viernes, 21 de marzo de 2014

Migración de base de datos de contenido adjunta desde SharePoint 2003 hasta 2013

Increíble pero cierto, empresas están migrando sus instancias de SharePoint casi olvidadas de SharePoint 2003 a SharePoint 2013.

La buena noticia es que podemos utilizar el mismo método de migración de base de datos para todas las versiones de SharePoint.

image

Un dato importante sobre las versiones de SharePoint a lo largo del tiempo es la siguiente tabla reconociendo los nombres que muestran la evolución de las versiones de SharePoint “relevantes” es decir desde 2003 hasta la versión 2013 que es cuando escribí este artículo.

Descripción  de la versión 2003 2007 2010 2013
Versión base que solo incluye el servicio  o gratuita SharePoint Services 2.0 SharePoint Services 3.0 SharePoint Foundation 2010 SharePoint Foundation 2013
Versión de Servidor o Empresarial Portal Server 2003 SharePoint Office Server 2007 alias utilizado fue MOSS SharePoint Server 2010 SharePoint Server 2013

Para prepararse para la migración es necesario ejecutar herramientas o comandos en cada una de las versiones de SharePoint.  A continuación el detalle:

Descripción  de la versión SharePoint 2003 SharePoint 2007 SharePoint 2010 SharePoint 2013
Herramienta evaluación pre-migración Pre Scan Tool stsadm.exe -o preupgradecheck test-SPMountContentdatabase  test-SPMountContentdatabase 
Observaciones sobre la herramienta Es obligatoria y debe de descargarse en:
http://www.microsoft.com/en-us/download/details.aspx?id=22806
Es necesario instalar el Service Pack 2.0 y recomendado el Service Pack 3.0 Comando de PowerShell que esta incluido en todas las versiones y ediciones de SharePoint 2010 Comando de PowerShell que esta incluido en todas las versiones y ediciones de SharePoint 2013

Para ejecutar la migración de las base de datos de contenido es necesario ejecutar el comando que monta las bases de datos y las migra a la vez.   A continuación el detalle:

Descripción  de la versión SharePoint 2003 SharePoint 2007 SharePoint 2010 SharePoint 2013
Comando de migración N/A stsadm -o addcontentdb mount-SPContentdatabase  mount-SPContentdatabase 
Observaciones sobre la herramienta N/A No muestra porcentaje de avance sino un comentario al final de la migración no hay como saber que avance tiene sino hasta el final Muestra el % de Avance en la ventana del comando u puede consultar la siguiente página: http://hostname:port/_admin/UpgradeStatus.aspx Muestra el % de Avance en la ventana del comando u puede consultar la siguiente página: http://hostname:port/_admin/UpgradeStatus.aspx
Ejemplo de línea de comando N/A stsadm -o addcontentdb -url [htpt://SharePoint2007Server] -databasename [WSS_Content_???] mount-SPContentdatabase -WebApplication [http://SharePoint2010Server] -Name [Wss_Content_???] mount-SPContentdatabase -WebApplication [http://SharePoint2013Server] -Name [Wss_Content_???]

El orden para montar las bases de datos de contenido es primero la primaria y luego en cualquier orden el resto, esto aplica para cada aplicación Web de SharePoint que debe de ser creada antes de poder ser montada.  También es necesario desmontar la base de datos que crea de forma predeterminada para que pueda montarse la que se esta migrando.

A continuación como se actualiza la interfaz visual en cada versión luego de montar la base de datos de contenido.

Tema SharePoint 2003 SharePoint 2007 SharePoint 2010 SharePoint 2013
Visual Upgrade N/A Manualmente Aplica la master Page de la versión 2007 Puedes hacerlo por medio de la interfaz Web de cada colección de sitios o bien por línea de comando Puedes hacerlo por medio de la interfaz Web de cada colección de sitios o bien por línea de comando
Interfaz de Usuario N/A

N/A

Puedes mejorar visualmente su aplicación web emigrado siguiendo estos pasos:

Abra la aplicación web migrado en su navegador.
Haga clic en Acciones del sitio a la derecha.
Haga clic en la actualización visual.
Para actualizar una colección de sitios
Compruebe que la cuenta de usuario que realiza este procedimiento es un administrador de colección de sitios.
En la página Configuración del sitio de la colección de sitios , en la sección Administración de la colección de sitios , haga clic en Sitio actualización colección.
En la página de la colección de sitios de actualización , haga clic en Actualizar esta colección de sitios .
Esta opción inicia el proceso de actualización de la colección de sitios . Una caja se abre para confirmar que desea para iniciar el proceso .
Haga clic Estoy listo para comenzar la actualización real .
gif
Los controles de salud de colecciones de sitios se ejecutan automáticamente en modo de reparación antes de que comience la actualización. Los resultados de los exámenes de salud se incluyen en el registro de la actualización de la colección de sitios . Si hay un error , se debe abordar antes de poder continuar con la actualización .
La actualización se inicia y aparece la página de estado de actualización para la colección de sitios . Esta página se actualiza automáticamente mientras la actualización está en curso y muestra información sobre el proceso, tales como los siguientes :
Los errores o advertencias
Cuando comenzó la actualización
¿Dónde se puede encontrar el archivo de registro de actualización
Después de la actualización, la página de estado de actualización se muestra en la nueva interfaz de usuario con el mensaje , Asciende Concluye con éxito .
Haga clic Veamos el nuevo sitio para ir a la página de inicio.
Línea de comando N/A

N/A

$webapp = Get-SPWebApplication <web-app-URL>
foreach ($site in $webapp.sites)
{
   $site.VisualUpgradeWebs()
}
Upgrade-SPSite http://server/sitecollection –VersionUpgrade

Otros aspectos a tomar en cuenta en la migración son los siguientes:

1) Instalación de cada una de las versiones en un ambiente virtual o físico de naturaleza temporal.  Es necesario para migrar de SharePoint 2003 a 2013 tener instalado de forma mínima el SharePoint 2007, 2010. Y en SharePoint 2013 la configuración final similar a la inicial para el proceso de migración.

2) Servicios: Es necesario migrar los servicios de primero entre ellos Perfiles de Usuario, la base de datos de contenido de los sitios personales de cada usuario (si aplica).  El servicio de búsqueda no se migra es preferible crearlo de nuevo. 

3) Personalizaciones:  Si se tiene personalizaciones instaladas deberá evaluar su factibilidad de migración a las versiones posteriores.  Plantillas de Sitios, Elementos Web, Páginas, flujos de trabajo.  En algunos casos tendrá que contemplarse crear de nuevo la funcionalidad en la versión final destino, como los flujos de trabajo.

4) Modo de Autenticación:  El modo de autenticación predeterminado y válido de SharePoint 2013 es Claims Authenticación y el de las versiones de SharePoint anteriores es Modo Clásico por lo que es necesario convertir le modo Clásico a Claims.  Para ello ver la siguiente referencia: http://technet.microsoft.com/en-us/library/gg251985(v=office.15).aspx

Bueno amigo, espero que esta guía aclare mejor el camino de migración.  Le sugiero vea los artículos anteriores que he escrito sobre la migración para que pueda completar los detalles de la migración que no expuse en este artículo.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

jueves, 6 de marzo de 2014

Instalando SharePoint 2013 sobre Windows Server 2012 R2

SharePoint 2013 no es soportado en Windows Server 2012 R2 hasta el Service Pack 1.0 de SharePoint 2013 recién liberado el pasado mes de febrero del 2014  http://www.microsoft.com/en-us/download/details.aspx?id=42002

[Actualización 11/03/2013]: Si va instalar SharePoint Foundation 2013 sobre Windows Server 2012 R2] No instale el Service Pack 1.0, mejor realice los workarounds y luego instale el Parche de Marzo del 2013 que es obligatorio.  Ya que el search no le funcionará con el SP1 que incluya un hot fix que daña los web-parts del Search, para SharePoint Foundation 2013, al parecer para Server no hay problema.

Más información en:

http://www.sharepointblogs.be/blogs/vandest/archive/2013/12/10/sharepoint-foundation-2013-broken-search-experience.aspx

Hay “workarounds” para instalar SharePoint 2013 sin SP1 como por ejemplo: http://iouchkov.wordpress.com/2013/10/19/how-to-install-sharepoint-2013-on-windows-server-2012-r2/

Pero le recomiendo ya que esta disponible instale el SP1 de una sola vez y aproveche las demás correcciones que incluye el SP1 (Siempre y cuando sea la versión Server y no Foundation, ver nota de arriba).

El SharePoint 2013 con SP1 incluído ya esta disponible pero solo para la versión en Inglés por lo que si necesita la versión en Español continúe leyendo el artículo.

Para poder incluir el SP1 de una vez en la instalación debemos de crear un “Slipstream” que nos permitirá combinar el producto en su versión original o RTM y el SP1.   Para el caso de SharePoint Foundation 2013 este viene en un solo ejecutable y es necesario extraerlo para poder luego combinarlo, para el caso de la versión Servidor esta viene en una media o ISO y ya viene descomprimida.

Para descargar SharePoint Foundation 2013 en español visite el siguiente enlace:

http://www.microsoft.com/es-es/download/details.aspx?id=35488

Para extraer los bits de SharePoint Foundation 2013 ejecutamos la siguiente línea de comando:

c:\Temp> SharePoint.exe /Extract:c:\SharePointBits

image

Para descargar el Service Pack 1.0 de SharePoint Foundation 2013 visite el siguiente enlace:

http://www.microsoft.com/es-es/download/details.aspx?id=42002

Esto descargará el siguiente archivo: sharepointsp2013-kb2817439-fullfile-x64-es-es.exe

Ahora vamos a extraer los archivos del SP1 en otro directorio para luego combinarlos, para ello ejecute la siguiente línea de comando:

c:\Temp> sharepointsp2013-kb2817439-fullfile-x64-es-es.exe /Extract:c:\SharePointSP1

Esto desplegará un listado similar al siguiente:

image

Ahora deberemos copiar todos los archivos extraídos del SP1 en la carpeta UPDATES en el directorio donde descargamos los bits de SharePoint que en nuestro caso es en c:\SharePointBits\updates

Ahora estamos listos podemos ejecutar setup.exe y podemos empezar a ejecutar la instalación.

image

SharePoint4Fun!,

Juan Manuel Herrera

jueves, 13 de febrero de 2014

Cómo levantar el Proxy de Aplicación de servicio de recolección de datos de mantenimiento (WSS_UsageApplication)

Vía Management Shell para SharePoint 2013 podemos realizar el siguiente procedimiento

1) Ejecute el Management Shell para SharePoint 2013 como Administrador

image

2) Ejecute la línea de comando Get-SPServiceApplicationProxy

image

3) Copie el Id del Proxy en este caso es WSS_UsageApplication y el ID es  19f516f5-caf1-4112-a0e2-6afec2fbd8cf

4) Declare una variable en memoria con la instancia del Proxy en cuestión:

 

PS C:\> $proxy = Get-SPServiceApplicationProxy  19f516f5-caf1-4112-a0e2-6afec2fbd8cf

5) Provisione de nuevo el Proxy de la siguiente manera:

$proxy.Provision()

 

Si revisamos ahora el Proxy debería indicar que esta iniciado

image

En esta publicación vimos como iniciar de nuevo el Proxy de recolección de datos de mantenimiento o Usage and Health Data collection de SharePoint 2013. 

Hasta la próxima,

Juan Manuel Herrera Ocheita

miércoles, 5 de febrero de 2014

Depurando base de datos de contenido para migrar a SharePoint

Esto es aplicable a casi todas las versiones de SharePoint (2007,2010,2013) utilizando el método de migración “Attached Content Database”.  Es importante mencionar que no migrar con las herramientas y procesos definidos por Microsoft de 2007 a 2013, es necesario pasar de 2007 a 2010 y luego de 2010 a 2013, por lo que si es su caso es necesario que tome en cuenta que debe de provisionar un servidor intermedio donde instale la granja de 2010 que incluye SQL Server y SharePoint 2010 en la edición de SharePoint del origen.  Es decir si esta migrando la Edición Standard la granja intermedia debe de ser Standard, la destino (SP 2013) puede ser igual o mayor es decir Standard o Enterprise pero no menor.

Normalmente pensamos que migrar el contenido es simplemente el ejecutar algunos comandos y asistentes y no debemos de preocuparnos por lo que estamos migrando y este pensamiento esta lejos de ser la realidad cuando nos enfrentamos a migrar contenido.

Uno de los problemas que encontramos con el contenido es que esta atado a personalizaciones o customization  (plantillas, elementos web, ensamblados, paginas)que ya no están disponibles en las versiones siguientes de SharePoint.

Una de las decisiones que tenemos que tomar con las personalizaciones que no pueden ser actualizadas es si vamos a continuar con ellas o bien vamos a depurarlas.  Especialmente cuando solo se crearon para pruebas de concepto o es un contenido que no estamos utilizando.

Si la decisión es depurar el contenido asociado debemos de tomar las siguientes consideraciones:

1) Cómo saber qué contenido esta asociado a estas personalizaciones?

Para ello es necesario realizar el siguiente procedimiento:

1) Realizar una copia de respaldo en SQL server de la base de datos de contenido (wss_content_???)

2) Restaurar la copia de respaldo en el servidor o instancia de SQL Server del SharePoint a migrar

3) En el front-end del SharePoint a migrar (ej SP 2013) ejecutar el PowerShell para SharePoint el siguiente comando:

test-SPContentDatabase –Name [nombre de base de datos de contenido] –WebApplication [url de la aplicación Web a migrar]

Supuestos Claves para ejecutar este comando:

1) Disponer de la instalación de la granja de SharePoint de la versión a migrar.  Por ejemplo si deseamos migrar de SharePoint 2010 a 2013, necesitamos tener lista la granja de SharePoint 2013.

2) En la granja SharePoint 2013 crear una Aplicación Web donde la base de datos de contenido se migrara.  Para ello ejecutar la siguiente línea de comando:

New-SPWebApplication -Name "Nombre de la aplicación Web" -Port 80 -URL https://hostname -ApplicationPool "Nombre del grupo de aplicaciones o Application Pool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\accountname")

NOTA: Esta forma de crear la aplicación web sin indicar el proveedor de autenticación nos permitirá crear de modo de autenticación clásica que es el encontrado en la mayoría de instalaciones de SharePoint en versiones anteriores.

El reporte que muestra el comando Test-SPContentDatabase es similar al siguiente:

 

Category        : MissingSetupFile
Error           : True
UpgradeBlocking : False
Message         : File [SiteTemplates\PWA\dwp\OWCViewPart.webpart] is reference
                  d [1] times in the database [wss_content], but is not install
                  ed on the current farm. Please install any feature/solution w
                  hich contains this file.
Remedy          : One or more setup files are referenced in the database [wss_c
                  ontent], but are not installed on the current farm. Please in
                  stall any feature or solution which contains these files.

Category        : MissingSetupFile
Error           : True
UpgradeBlocking : False
Message         : File [SiteTemplates\PWA\OWCView.aspx] is referenced [1] times
                   in the database [wss_content], but is not installed on the c
                  urrent farm. Please install any feature/solution which contai
                  ns this file.
Remedy          : One or more setup files are referenced in the database [wss_c
                  ontent], but are not installed on the current farm. Please in
                  stall any feature or solution which contains these files.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [2a95bc7f-1b64-5b9c-a95e-7cefb40e285f] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [b255b401-608d-1234-e356-5094dd5939d9] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [94b5bae7-436c-dcc2-5869-d491181c283b] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [f03d4046-dd6f-42af-0763-6b694862139e] is refer
                  enced [2] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [df924004-d5d2-093e-9169-631764a71371] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [c518b765-02fe-771b-f4a9-eecb5931a900] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [02c190cb-f53b-1e26-83bc-70e3ffcb82ee] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [1edd0724-1ed3-ea30-be9b-783273bf3865] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [af35b6c5-265f-0ace-4a83-a70d245d68c8] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [a700a8e9-1c1d-79a4-6d09-65eb3e18eb9c] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [5958946a-4253-2961-26db-bb792c2d6d39] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [2bcf2517-38c7-3d4a-2c51-80d3a874e9b9] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [3fd0eb94-f155-f577-5443-98e094b69713] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [7a96438e-3332-7df0-0799-21f23a241ed0] is refer
                  enced [2] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [4ab44f9a-fa88-e31b-f9c6-bddaf0dda8bc] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [5ed5ec80-694e-cbd9-826d-bc4c9fbbd297] is refer
                  enced [1] times in the database [wss_content], but is not ins
                  talled on the current farm. Please install any feature/soluti
                  on which contains this web part.
Remedy          : One or more web parts are referenced in the database [wss_con
                  tent], but are not installed on the current farm. Please inst
                  all any feature or solution which contains these web parts.

Category        : MissingAssembly
Error           : True
UpgradeBlocking : False
Message         : Assembly [Microsoft.Office.Project.Server.PWA,Version=12.0.0.
                  0,Culture=neutral,PublicKeyToken=71e9bce111e9429c] is referen
                  ced in the database [wss_content], but is not installed on th
                  e current farm. Please install any feature/solution which con
                  tains this assembly.
Remedy          : One or more assemblies are referenced in the database [wss_co
                  ntent], but are not installed on the current farm. Please ins
                  tall any feature or solution which contains these assemblies.

 

Una forma de visualizar esto mejor es utilizando el siguiente comando:

Test-SpContentDatabase -name [SiteName] –webapplication [SiteURL] -serverinstance [SQLServer] | ConvertTo-Html | Out-file

Y algo mejor una aplicación para SP 2010 para revisar el archivo y conocer la url de estas dependencias:

http://blogs.msdn.com/b/chandru/archive/2012/03/11/making-use-of-test-spcontentdatabase-generated-output.aspx

o bien a través de SharePoint Feature Administration and Clean Up Tool:

http://featureadmin.codeplex.com/

Pero si es para 2013, pueda que necesitemos aplicar Queries de SQL Server para obtener estas URL:

--Missing features

--Database [wss_content] has reference(s) to a missing

--feature: Id = [75a0fea7-cbdd-4360-90cb-12aed8c69f43]

SELECT features.SolutionId,sites.PortalName, sites.PortalURL, sites.RootWebId, fullurl = case when Webs.FullUrl = '' then webs2.fullurl else webs.FullUrl end, webs.Title, webs.WebTemplate

FROM Features

left outer join Sites

on sites.Id = Features.SiteId

left outer join Webs

on webs.Id = features.WebId

left outer join Webs as webs2

on sites.RootWebId = webs2.Id

where featureid = '75a0fea7-cbdd-4360-90cb-12aed8c69f43'

--MISSING SETUP FILES

select * from AllDocs where SetupPath like '%Features\AssetTrackingModules\default.aspx%'

-- MISSING ASSEMBLY

--Assembly [KnowledgeBaseEventHandler, Version=14.0.0.0,

-- Culture=neutral, PublicKeyToken=71e9bce111e9429c] is

-- referenced in the database [wss_content]

SELECT s.fullurl, webs.fullurl, assembly, hostType

from EventReceivers e

join webs on (e.webid = webs.id)

join sites s on (s.id = e.siteid)

where Assembly LIKE '%KnowledgeBaseEventHandler%'

-- no results

Si se decide eliminar los sitios que nos se migraran por contener plantillas no soportadas en versiones posteriores no se olvide de limpiar la papelera de reciclaje de SharePoint del usuario y de la colección de sitios porque de lo contrario seguirá marcando el error.

Si no es posible desactivar y eliminar las características a través de línea de comando o bien con la herramienta FeatureAdmin2010.exe como ultimo recurso es posible eliminar vía t-sql la feature de la tabla de features de la base de datos de contenido WSS_Content???.  Esto aunque no es soportado por Microsoft (Usted corre por su propia cuenta al ejecutarlo) pero SharePoint no contiene llaves foráneas y al parecer la declaración de las features están únicamente en dicha tabla. Por ejemplo:

begin tran

delete from Features where featureid = '75a0fea7-d31d-491a-9177-f0e461a81e3f'

--commit tran

4) Cuando ya no hay errores podemos ejecutar el comando:

Mount-SPContentDatabase –Name WSS_Content??? –WebApplication http://hostname

image

Si desea ver el avance o el reporte de la migración podemos revisarlo desde el Central Administration en la pagina /_admin/UpgradeStatus.aspx

 

5) Convertir la Web Application de modo clásico a modo de reclamos o claims.

Convert-SPWebApplication -Identity "https://<webappurl>" -To Claims –RetainPermissions [-Force]
Bueno en este artículo vimos como depurar los errores que muestra al ejecutar el comando test-SPContentDatabase.  Es un proceso largo y el cual en ocasiones tendrá que decidirse si migrar o eliminar “contenido” que ya no es soportado o  bien ya no se utiliza.
 
SharePoint4Fun!,
Juan Manuel Herrera Ocheita