Mostrando las entradas con la etiqueta Migracion a SharePoint 2010. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Migracion a SharePoint 2010. Mostrar todas las entradas

martes, 23 de septiembre de 2014

Tip del día: Script para colocar las bases de datos de SharePoint read only

Esto es útil cuando se esta migrando para garantizar que el ultimo cambio permitido esta en el respaldo de la base de datos antes de migrarlo.

Esto se hace a nivel de comando T-SQL de SQL Server y lo que hace SharePoint es que deshabilita las opciones en los menús para editar documentos e inclusive para ingresar a los “Settings” de SharePoint.   Aunque se le puede entrar a nivel de URL de la siguiente forma: http://hostname/_layouts/settings.aspx.

ALTER DATABASE [WSS_CONTENT_????] SET READ_WRITE WITH ROLLBACK IMMEDIATE

Donde [WSS_CONTENT_????] es el nombre de la base de datos de contenido a colocar de modo solo lectura.

WITH ROLLBACK IMMEDIATE bota todas las conexiones hacia la base de datos y ejecuta la modificación a la base de datos a modo lectura, que es lo que deseamos que suceda.

Para devolver la base de datos de contenido de SharePoint a su estado normal es el siguiente comando:

ALTER DATABASE [WSS_CONTENT_????] SET READ_WRITE WITH NO_WAIT

Y eso es todo gracias a PINAL DAVE por su contribución en la nube. Ref: http://blog.sqlauthority.com/2011/04/16/sql-server-making-database-to-read-only-changing-database-to-readwrite/

Así que amigos cuando necesitemos asegurarnos que nadie pero nadie puede modificar el contenido de la base de datos en modo de solo lectura.

SharePoint4Fun,

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

martes, 31 de diciembre de 2013

Caso Práctico:Depurando las dependencias no migradas en SharePoint 2010

Una de las plantillas encontradas en SharePoint 2007 que no todas pueden ser migradas a 2010 y mucho menos a 2013 son las plantillas de los 40 fantásticos, sino sabe de lo que hablo posiblemente no tiene de que preocuparse.

Las plantillas de los 40 fantásticos es una historia triste, ya que Microsoft no las adopto para las versiones posteriores de SharePoint y aunque algunas se adaptaron para 2010 estas no están disponibles para 2013.  Estas plantillas en el proceso generan muchos errores.   Si desea saber mas de las plantillas puede consultar los siguientes enlaces:

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

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

Para este caso vamos asumir que ya sea que sean plantillas de los 40 fantásticos o bien otras dependencias que no se lograron migrar de 2007 a 2010.  Si la migración reporto errores pero terminó y deseamos depurar las dependencias faltantes. Entonces ya hemos migrado de 2007 a 2010 una base de datos de contenido con varios errores de dependencias que no tenemos instaladas en la granja 2010 pero deseamos depurar los errores. Dependiendo de cada error se toman diferentes caminos (para más información puede ver el siguiente enlace:http://kancharla-sharepoint.blogspot.com/2013/08/resolving-missing-references-when.html) pero para este caso vamos a sumir que los sub-sitios que dieron error porque no están las plantillas instaladas eliminaremos dichos sub-sitios, para luego crear una nueva base de datos y allí migrar el contenido sin errores.  El procedimiento es el siguiente:

1. Crear una nueva aplicación Web (para operar cómodamente el contenido depurado)

New-SPWebApplication -ApplicationPool <String> -Name <String> [-DatabaseName <String>] [-DatabaseServer <String>] [-HostHeader <String>] [-Path <String>] [-Port <UInt32>] [-ServiceApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>]

http://technet.microsoft.com/en-us/library/ff607931.aspx

Ejemplo: New-SPWebApplication –ApplicationPool “Nueva App Pool” –Name “SharePonit Web App temporal” –DatabaseName “wss_content_NuevoContenido” –HostHeader “” –Path “c:\temporal\Web4444” -Port 4444

2. Exportar el contenido al sistema de archivos

Export-SPWeb [-Identity] <SPWebPipeBind> -Path <String> [-IncludeUserSecurity <SwitchParameter>] [-IncludeVersions <LastMajor | CurrentVersion | LastMajorAndMinor | All>] [-NoFileCompression <SwitchParameter>]

http://technet.microsoft.com/en-us/library/ff607895.aspx

Ejemplo: Export-SPWeb –Idendity http://miwebmigrada –path “c:\temp\contenidodepurado” –IncludeUserSecurity – IncludeVerions All – NoFileCompression

3. Importar el contenido en la nueva aplicación Web

Import-SPWeb [-Identity] <SPWebPipeBind> -Path <String> [-IncludeUserSecurity <SwitchParameter>] [-NoFileCompression <SwitchParameter>] [-UpdateVersions <Append | Overwrite | Ignore>]

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

Ejemplo: Import-SPweb –Identity “http://hostname:4444” –Path “c:\temp\contenidodepurado” –NoFileCompression –UpdateVerions Overwrite

4. Desmontar la base de datos de contenido de la aplicación Web nueva creada y de la migrada

Dismount-SPContentDatabase [-Identity] <SPContentDatabasePipeBind>

http://technet.microsoft.com/en-us/library/ff607764.aspx

Ejemplo: Dismount-SPContentDatabase –Identity “wss_content_NuevoContenido”

5. Montar la base de datos depurada en la aplicación web deseada

Mount-SPContentDatabase [-Name] <String> [-WebApplication] <SPWebApplicationPipeBind>

http://technet.microsoft.com/en-us/library/ff607581.aspx

Ejemplo: Mount-SPContentDatabase –Name wss_content_NuevoContenido –WebApplication “http://miwebmigrada

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

sábado, 28 de diciembre de 2013

Tips para el proceso de migración de SharePoint 2007 a 2013

Primero lo primero no se puede pasar de SharePoint 2007 a 2013 de un solo con el procedimiento de base de datos acoplada o Attach data base, con herramientas de terceros es posible pero es un proceso lento y no esta libre de errores.  En 2007 hay dos procesos soportados In Place y Attached data base.  Pero el último es el adoptado y único para versiones posteriores, por lo que mantendremos esta tendencia desde 2007.

Para realizar la migración debemos de contar por lo menos con dos granjas una de SharePoint 2010 y otra de SharePoint 2013.

No es recomendado realizar un downgrade es decir una reducción de versión en el proceso de migración.  por ejemplo:  Tenemos una granja SharePoint 2007 Edición Enterprise y deseamos convertirla a SharePoint 2013 Edición Standard o a SharePoint Foundation. 

Lo contrario si es válido y posible, es decir hacer un upgrade o mejora de versión.  Por ejemplo de WSS 3.0 a SharePoint 2013 Enterprise o Standard.

A continuación una tabla de la ruta de migración posible del 2007 al 2013 en sus diferentes ediciones:

image

A continuación una tabla de la ruta de migración recomendada (en color amarillo):

image 

La recomendación se basa en que se utilice la misma edición de 2007 y hasta el final se utilice la edición deseada.  Abajo una tabla de las rutas no soportadas en las cuales se suponen escenarios de color rojo donde erróneamente se escoge una ruta de upgrade en el intermedio (en la versión 2010) y luego se decide equivocadamente hacer un downgrade, esto acarreará muchos errores en la etapa de migración de 2010 a 2013 que puede incluso impedir la migración.

image

Debemos de recordar el idioma en que esta instalado el SharePoint debe de ser el mismo a migrar o bien contar con el paquete de idioma instalado en las granjas de SharePoint a migrar que en este artículo hablamos de 2010 y 2013.

La configuración de las granjas es algo que no debe de tomarse a la ligera ya que esto puede desembocar en un proceso rápido y efectivo o lento y frustrante.

La configuración de Hardware debe de analizarse desde el misma granja de SharePoint 2007, ya que podemos contar con imprevistos como el que no se haya instalado 2007 en una base de datos de SQL Server sino a través de la versión incrustada o embedded y esto hará el proceso de extracción de la base de datos más doloroso y complicado.  Esto sucede cuando instalamos el SharePoint de forma solitaria o Stand Alone, instalación solamente diseñada para demostración y nunca recomendada para un ambiente de producción.  La sorprendente es encontrar empresas que tienen así instalado su SharePoint en modo stand-alone.

La otra configuración importante es la de SharePoint 2010 que a pesar que sea una granja “puente” ya que solo se instalará para migrar el contenido de 2007 a 2010 y de 2010 a 2013.  Debemos de asignar recursos adecuados para que el proceso de migración para que sea exitoso y eficiente.  Esta granja posiblemente no cuente con muchos recursos pero debemos prestar atención a la RAM y espacio en disco y en los servicios y contenido que estamos migrando.

A continuación la configuración mínima y recomendada por Microsoft para SharePoint 2007 Front End en sus diferentes ediciones

image

image

A continuación mi recomendación práctica para una migración para la versión SharePoint 2007

image

image

Para el servidor Puente o sea el servidor SharePoint 2010 las recomendaciones son las siguientes:

image

En la medida de disponer de mayor cantidad de RAM se garantiza un proceso más rápido de migración.  Y el espacio en disco se basa en el requerimiento de SharePoint de 5 veces el tamaño de la memoria RAM partiendo del mínimo recomendado de 80 GB + 5 Veces la RAM.  Se asume por ser un servidor puente que solo será un servidor, pero esto dependerá de la granja de SharePoint 2007 de origen cuantos servidores tienen ya que no solo se migrará contenido sino servicios también.

A continuación la recomendación mínima de una granja de SharePoint 2013 y un servidor de SQL Server 2012 en sus diferentes ediciones:

image

Comandos útiles para la migración de base de datos de contenido adjunta:

image

image

Bueno eso es todo por este artículo espero lo encuentren útil.

Hasta la próxima, SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 17 de noviembre de 2013

Cómo resolver el problema de importar un sitio con diferente plantilla utilizando import-spweb

Este caso pueda ser poco usual pero pasa, a continuación explico el caso:

Se ha migrado el contenido de SharePoint 2010 a 2013 y luego se desea migrar un sitio hacia otra colección de sitios, pero el sitio que se desea migrar esta utilizando una plantilla que ya no es soportada en la versión 2013 de SharePoint, entonces cómo resolver este problema?.

Primero debes decir que para migrar un sitio de una colección de sitios a otra utilizamos la línea de comando export-SPWeb.  Para ello ejecutamos image SharePoint Management Shell  y ejecutamos una línea de comando parecida a esta:

PS c:\> export-SPWeb –Identity http://hostname/susitio –path “c:\temp\subsitio.cmp” –IncludeUserSecurity -IncludeVersions All

Luego intentamos crear un sub-sitio donde deseamos importar el contenido exportado, pero como no existe la plantilla podemos intentar crear un sitio con la plantilla de equipo por ejemplo.

Finalmente intentamos importar el contenido con una línea de comando similiar a la siguiente:

PS C:\> import-spweb –identity “http://nuevoservidor/sitios/nuevaCollecion/NuevoSubsitio" -path "c:\temp\subsitio.cmp" -IncludeUserSecurity -ActivateSolutions

Al ejecutar este comando nos muestra el siguiente mensaje de error:

import-spweb : Cannot import site. The exported site is based on the template
STS#2 but the destination site is based on the template STS#0. You can import
sites only into sites that are based on same template as the exported site.

La Solución

Eliminar el sitio creado y ahora vamos a crear un sitio desde línea de comando de la siguiente formar:

PS C:\> new-SPWeb -url http://nuevoservidor/sitios/nuevaCollecion/NuevoSubsitio -name "Nuevo Sitio" -template
STS#02 -UseParentTopNav -UniquePermissions

Al ejecutar la línea de comando nos mostrará el siguiente mensaje:

WARNING: Template is not found and is not applied.

Url
---
http://nuevoservidor/sitios/nuevaCollecion/NuevoSubsitio

No se preocupe este error nos ayudará ya que no aplicará ninguna plantilla y esto permitirá que utilice la plantilla del contenido importado.  O bien no incluir el parámetro –template y esto tendrá el mismo efecto.

Especifica la plantilla web para el nuevo sitio. La plantilla ya debe existir. Si no se especifica ninguna plantilla, no se aplica ninguna plantilla y se puede seleccionar más adelante.

Ahora ejecutamos de nuevo la línea de comando import-SPWeb.

PS C:\> import-spweb –identity “http://nuevoservidor/sitios/nuevaCollecion/NuevoSubsitio" -path r"c:\atemp\subsitio.cmp" -IncludeUserSecurity -ActivateSolutions

Log file generated:
        c:\temp\subsitio.cmp.import.log

Listo ya pudo importar el contenido de una plantilla no soportada en SharePoint 2013.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 18 de noviembre de 2012

Migrando y Reubicando Bases de Contenido desde SharePoint 2007 a 2010

Solo migrar el contenido de SharePoint de 2007 a 2010 puede ser un desafío, que depende de factores como volumen de contenido a migrar , a personalizaciones instaladas, número de servidores a migrar.   En este artículo voy a describir un método rápido de migración y luego de reubicación de contenido dejando a un lado la parte de personalizaciones y configuración de servicios.  Ya que en algunos casos existen instalaciones que no cuentan con personalizaciones instaladas y no usan más de una o dos cajas para instalar el SharePoint.

Escenario:

Un Servidor ejecutando SharePoint 2007 Enterprise sobre Windows Server 2003 R2 32 bits con SQL Server 2005 Standard con 4 GB de RAM 200 GB HD, Procesador de 2.5 GHZ.

Un Nuevo Servidor Windows 2008 R2 con SQL Server 2008 R2 standard, con SharePoint Server 2010 Enterprise con 12 GB de RAM con 300 GB HD, Procesador 3.0  GHZ Quad Core.

El servidor de 2007 ya esta listo con el SP3 Instalado.  Pasado el preupgradecheck, y ya ha sido depurado todos los errores reportados del preupgracheck.  Estamos listos para hacer un backup de dos bases de datos de contenido, de la base de datos de la colección de sitios principal y de la base de datos de contenido que nos interesa migrar, ejemplo bases de datos de documentación de gestión.   Necesitamos ambas ya que para poder migrar la segunda base de datos necesitamos primero migrar la colección primaria de la Web Application.  Supongamos que el portal de 2007 se accede a través de la url http://miportal2007 y la que nos interesa se accesa a través de la url http://miportal2007/sitios/Gestion.  Cada colección de sitios tiene su propia base de datos, por ejemplo WSS_Content_MiPortal2007 para http://miportal2007  y WSS_Content_Gestion para http://miportal2007/sitios/Gestion.

En el servidor 2010 tenemos instalado los bits de SharePoint Server 2010 Enterprise con SP1, configurada la granja de SharePoint e instaldo el Central Administration V 4.0.  Creado una Nueva Web Application en el puerto 4040 la migración preliminar ejemplo http://INFOWARE-WFE-01:4040.  Cuando creamos la Web Application nos crea una base de datos de contenido que no vamos a utilizar, por lo que se procede a desmontar.  Esto lo podemos hacer desde Central Administration, Application Management, Manage Content Database, Luego de seleccionar la Aplicación Web y la base de datos de Contenido, la opción Remove Database.

image

La base de datos de 2007 se deben de restaurar en el nuevo servidor en SQL Server 2008 R2, a través del management Studio si así lo prefiere.  No se tiene que preocupar por que el SQL 2008 R2 esta en 64 bits y SQL 2005 estaba en 32 bits (es una duda común), ya que solo esta pasando data.  No se tiene que preocupar inclusive si la base de datos esta en versión 2005 y no en 2008, solo restaurela.

Ahora vamos a montar la base de datos de contenido WSS_Content_MiPortal2007 en 2010 en la Aplicación Web http://INFOWARE-WFE-01:4040 para montar y migrar el contenido a 2010 ejeucte la siguiente línea de comando en “SharePoint 2010 Management Shell”:

mount-SPContentDatabase –Name WSS_Content_MiPortal2007 –WebApplication http://INFOWARE-WFE-01:4040 

* Esto reportará un porcentaje de avance y si finaliza con éxito llegará al 100% reportando algunos errores o advertencias o bien ninguno.  En el Central Administration en la sección Upgrade and Migration, Check upgrade status.

image

Luego vamos a migrar la base de datos que nos interesa WSS_Content_Gestion, si quisieramos advertir algún problema antes de realizar la migración podemos ejecutar la siguiente línea de comando en “SharePoint 2010 Management Shell”

test-SPContentDatabase –Name WSS_Content_gestion –WebApplication http://INFOWARE-WFE-01:4040 

y cuando estemos listos ejecutamos:

mount-SPContentDatabase –Name WSS_Content_gestion –WebApplication http://INFOWARE-WFE-01:4040 

Si fue éxito podemos realizar la actualización visual a través de la siguiente línea de comando:

$site = Get-SPSite(“http://INFOWARE-WFE-01:4040/sitios/Gestion“)

foreach ($web in $site.AllWebs) { $web.UIVersion = 4; $web.Update() }

Ahora vamos a migrar el contenido a otra Web Application es decir a otra dirección url.  Para ello vamos a realizar los siguientes pasos:

1) Registrar en el DNS el nombre gestion.midominio.com apuntando al nuevo servidor. 

2) Crear una nueva aplicación Web desde el Central Administration en el puerto 80 con el host header gestion.midominio.com.  Esto creará una base de datos de contenido que nombraremos SharePoint_Content_Gestion.

3) Ahora desde el 14 hive vamos a ejecutar la siguiente línea de comando para crear un backup de la colección de sitios:

stsadm –o backup –url http://INFOWARE-WFE-01:4040/sitios/Gestion –filename c:\gestion.bak

4) Y ahora vamos a ejecutar la restauración en la ubicación desea:

stsadm –o restore –url http://gestion.midominio.com –filename c:\gestion.bak

Y eso es todo!.  SharePoint provee de las herramientas necesarias para migrar el contenido de un lado a otro.  Esto incluye contenido, permisos, flujos de trabajo, historial de los mismos.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

domingo, 27 de mayo de 2012

Se puede restaurar una copia de respaldo de SharePoint 2007 en 2010 Parte 2 de 2

En la primera parte vimos como podemos realizar este proceso primero restaurando la copia de respaldo en una granja de SharePoint 2007 para luego iniciar el proceso de migración a SharePoint 2010.   Para ello tuvimos que actualizar la versión de actualización de SharePoint, instalar el paquete de Idioma Inglés, crear una base de datos de contenido para la copia a restaurar.  Ahora que tenemos una base de datos de contenido aislada con el contenido restaurado vamos a sacar una copia de respaldo de SLQ Server para luego restaurarla en una granja de SharePoint 2010.

Desde el Management Studio de SQL Server seleccionamos la base de datos de contenido que en nuestro ejercicio es WSS_Content_Comercial y seleccionamos la opción Task, Backup y ejecutamos el respaldo.  Abajo de la imagen que muestra lo indicado.

image_thumb20

Luego copiamos el Respaldo de SQL Server en el servidor de base de datos de SharePoint 2010. Y allí lo restauramos.

image_thumb22

Luego asignamos las permisos de la base de datos.

image_thumb23

En el Central Adminsitration de SharePoint 2010, creamos la ruta administrada “area” como lo hicimos en la primera parte.

image_thumb24

Luego ejecutamos la línea de comando:  test-spcontentdatabase –name wss_content_comercial –webapplication http://demosp2010/ Esto nos indicará si se puede realizar o no la migración de base de datos.  La imagen de abajo muestra que no existen algunos Webparts pero que no impedirán la migración, por lo que procederemos hacerlo.

image_thumb25

Ahora ejecutamos la línea de comando: mount-spcontentdatabase –name wss_content_comercial –webapplication http://demosp2010/

image_thumb26

Esperamos que se ejecute el proceso de migración al 100%.

image_thumb27

Luego vamos al Central Administration para asignar los administradores de la colección de sitios migrada.

image_thumb28

image_thumb29

Ahora que ya esta migrado el contenido a 2010, vamos a realizar una copia de respaldo para cambiar su ubicación original.  Para ello ejecutamos la línea de comando:  stsadm –o backup –url http://infowareguatemalademo.com:8080/area/comercial –filename c:\temp\comercial.bak

image_thumb31[1]

Y ahora vamos a restaurar el respaldo en su nueva ubicación con la siguiente línea de comando: stsadm –o restore –url http://demosp2010/area/comercial –filename C:\temp\comercial.bak

image_thumb32

Y si accedemos el sitio deberíamos ver el contenido migrado ya en 2010, como se muestra en la imagen de abajo.

image_thumb33

 

En esta segunda parte vimos como migrar un base de datos de contenido de 2007 a 2010 que pertenecía a otra granja y que la restauramos en una nueva granja completamente diferente y en 2010.

 

SharePoint4Fun!,

 

Juan Manuel Herrera Ocheita

Se puede restaurar un copia de Respaldo de SharePoint 2007 en 2010 Parte 1 de 2

La respuesta es “no” y el mensaje que despliega al intentarlo es el siguiente:

image

Por que no?, pues realmente queremos hacer dos procesos distintos en uno solo y esto no es posible nativamente en SharePoint, primero deberemos de hacer lo siguiente:

1) Restaurar el respaldo en una versión de SharePoint equivalente a la copia de respaldo.

2) Realizar un nueva copia de respaldo de la base de datos restaurada.

3)Restaurarla en el Servidor de base de datos de SharePoint 2010.

4)Realizar una migración de base de datos adjunto o Attach database upgrade en SharePoint 2010.

Preparando SharePoint 2007 para restaurar la copia de respaldo

Como la restauración la vamos hacer en otro SharePoint distinto al origen es necesario preparar la ubicación donde vamos a restaurar la copia de respaldo.  Para ello vamos a crear una colección de sitios, haciendo lo siguiente:

Desde el CA o Central Administration, en Administración de aplicaciones, bajo el titulo Administración de sitios de SharePoint haga clic sobre Crear colección de sitios.

image

Ingrese la Aplicación donde desea que se restaura la colección de sitios, luego el título, la descripción, la dirección URL y la plantilla que debe de ser la misma que contiene la copia de respaldo, también es necesario cuidar el idioma en que esta la copia de respaldo (Si en la instalación que desea restaurar la copia de respaldo es diferente deberá instalar el paquete de idiomas correspondiente a la copia de respaldo).  Échele un vistazo a las siguientes dos pantallas:

image

Si finalizó exitosamente la creación de la colección de sitios le mostrará la siguiente página:

image

Si hacemos clic sobre el link del sitio deberá mostrarnos el sitio creado con la plantilla de equipo:

image

Luego debemos de ejecutar la siguiente línea de comando:  stsadm –o restore –url http://[servername]/[managedpath]/[targe site collecction] – filename [full path file]

image

En la imagen me muestra que el respaldo fue hecho en una versión mas reciente que la  instalación actual.  Lo que debemos de hacer es revisar nuestra instalación y comparar.  Para ello desde el CA diríjase a Operaciones, Servidroes del conjunto.  Allí le mostrará la versión actual y en esta caso si hay una variación ya que la granja actual es la versión 12.0.0.6520.

image

En la web puede encontrar que “HotFix” necesita para actualizarlo a la version 12.0.0.65.  Como se muestra la imagen de abajo:

image

Descargue las actualizaciones tanto de services como Server, instálelas y luego ejecute el Asistente de Productos y Tecnologías de SharePoint.

image

Valide desde el CA nuevamente que ya tenga la versión indicada y ejecute de nuevo la línea de comando:

image

Volvemos a ejecutar la línea de comando para restaurar la copia de respaldo.

image

Según la imagen indica que la operación se terminó correctamente.  Pero al intentar acceder el sitio nos muestra el siguiente error:

image

Este error se debe a que el idioma del sitio no es el mismo de la instalación donde se esta restaurando.  Por lo que hay que descargar el paquete de idioma del sitio a restaurar que en este caso en particular es Inglés.

image

Luego de instalar el Paquete de Idiomas en Inglés tanto para WSS 3.0 como para Sever 2007 y el service pack 2.0 del paquete de idioma de ambas versiones.  Luego procedo a eliminar la colección de sitios destino creada para esta ocasión, para crear una nueva en versión inglesa.

Ahora debemos de eliminar la colección de sitios anterior, para luego crear la nueva con el paquete de idioma adecuado.

image

Luego de eliminar vamos a crear una nueva base de datos de contenido donde vamos a crear la nueva colección de sitios por lo que nos permitirá aislar el contenido que estamos migrando.  En el CA, en la Administración de Aplicaciones, seleccionamos Agregar base de datos de contenido.

image

Para asegurarnos que la nueva colección de sitios se va a crear en la nueva base de datos de contenido.  Vamos a cambiar el estado de las demás bases de datos de contenido a Detenido y solo la nueva base de datos la vamos a dejar iniciada.  Esto lo hacemos en la opción del CA, Admninistración de aplicaciones, bases de datos de contenido.

image

Vamos a crear una ruta administrada para reorganizar la colección de sitios en una nueva ruta.  Eso lo vamos hacer en el CA, Administración de Aplicaciones, Definir rutas de acceso administradas.  La nueva ruta que vamos agregar llamada area.  Esta la ingresamos en la casilla Ruta de acceso: y luego presionamos el botón Aceptar.

image

Abajo el resultado después de agregar la ruta administrada.

image

Ahora vamos a crear la colección de sitios y como ya fue instalado el paquete de idioma inglés, la página de la creación de colección de sitios, tenemos una nueva opción que indica “Seleccione un Idioma” y deberíamos seleccionar Inglés. Y luego en la pestaña Colaboration, Team Site.  Que es la plantilla de la copia de respaldo que deseamos restaurar.

image

Si se creó con éxito deberá mostrar una página como la siguiente:

image

Y luego si hacemos clic sobre el link que indica la nueva colección de sitios deberá mostrar una plantilla de Sitio de Equipo en inglés.

image

Ejecutamos nuevamente la línea de comando para restaurarla sobre la nueva plantilla de sitio de Equipo.

image

Felicitaciones!, el Sitio fue Restaurado con éxito.  Ahora si vamos a la página del sitio restaurado veremos el resultado.  (Recuerde asignar nuevamente permisos a los sitios con las nuevas cuentas de usuario y asignar los administradores de la colección de sitios desde el CA).

image

 

En esta primera parte restauramos una copia de respaldo de una granja de Windows SharePoint Services 3.0 en inglés en otra granja distinta de SharePoint Server 2007 Enterprise en Español con diferentes versiones, con lo que nos toco actualizarla a la misma versión.  Esto con el único objetivo de utilizar la granja de SharePoint Server como intermediaria para migrarla luego a una granja de SharePoint 2010 que es el objetivo final.  Esto lo veremos en un segundo artículo.

SharePoint4Fun!,

Juan Manuel Herrera Ocheita