Mover colecciones de sitios entre bases de datos en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

En algunos casos, es posible que quiera mover una o varias colecciones de sitios a otra base de datos de contenido. Por ejemplo, una colección de sitios puede superar la capacidad de la base de datos en la que reside y, en ese caso, sería necesario mover la colección de sitios a una base de datos de contenido más grande. En SharePoint Server, debería ver este procedimiento como un traslado de la colección de sitios a una base de datos más grande.

Pero si las colecciones de sitios no crecen hasta la capacidad esperada, podría ser conveniente combinar varias colecciones de sitios en una base de datos de contenido. En SharePoint Server, este proceso no combina bases de datos de contenido; en su lugar, las colecciones de sitios se mueven a otra base de datos y allí se combinan.

Puede mover las colecciones de sitios entre bases de datos en una granja deSharePoint Server mediante PowerShell de Microsoft. También puede mover colecciones de sitios mediante los procedimientos de copia de seguridad y restauración. Para obtener más información sobre cómo hacerlo, vea Copias de seguridad de colecciones de sitios en SharePoint Server y Restaurar colecciones de sitios en SharePoint Server.

Antes de empezar

Antes de empezar esta operación, deben cumplirse las siguientes condiciones:

  • La base de datos de contenido de destino ya debe existir.

  • La base de datos de contenido de origen y la base de datos de contenido de destino deben ubicarse en la misma instancia de SQL Server.

  • La base de datos de contenido de origen y la base de datos de contenido de destino deben adjuntarse a la misma aplicación web. Para obtener más información sobre cómo agregar una base de datos de contenido a una aplicación web, vea Agregar bases de datos de contenido en SharePoint Server.

Determinar el tamaño de la colección de sitios de origen

Al mover colecciones de sitios a otra base de datos de contenido, se copian los datos de auditoría. El tamaño de los datos de auditoría varía según la configuración de la colección de eventos para la colección de sitios. Si los datos de auditoría tienen un gran tamaño, puede moverlos a otra base de datos antes de mover la colección de sitios. Para hacerlo, siga el procedimiento Archivar y recortar datos de auditoría con Windows PowerShell.

Al margen de la razón por la que desee mover una colección de sitios, siempre debe comenzar por determinar el tamaño de la colección de sitios que se va a mover. De esta forma podrá estar seguro de que el disco duro de destino tiene espacio suficiente para el contenido de la colección de sitios. Compruebe que el disco duro de destino tiene al menos tres veces el espacio libre requerido para la colección de sitios.

Sugerencia

Para estar al tanto del espacio que ocupan las colecciones de sitios, puede crear cuotas de sitios y alertas de correo electrónico.

Para determinar el tamaño de la colección de sitios con PowerShell

  1. Compruebe que cumple con las pertenencias siguientes:
  • Rol fijo de servidor securityadmin en la instancia de SQL Server.

  • Rol fijo de base de datos db_owner en todas las bases de datos que se van a cargar.

  • Grupo de servidores en el servidor en el que se van a ejecutar los cmdlets de PowerShell.

    Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.

    Nota:

    Si no dispone de permisos, póngase en contacto con el administrador para la instalación o con el administrador de SQL Server para solicitarlos. Para más información sobre permisos de PowerShell, vea Add-SPShellAdmin.

  1. Inicie el Shell de administración de SharePoint.

  2. Escriba los siguientes comandos en el símbolo del sistema de PowerShell:

$used = (Get-SPSiteAdministration -Identity <http://ServerName/Sites/SiteName>).DiskUsed
$used

Donde:

  • <http://ServerName/Sites/SiteName> es el nombre de la colección de sitios.

La cantidad de espacio en disco que usa la colección de sitios especificada se almacena en la variable $used y se muestra en el símbolo del sistema cuando se ejecuta el segundo comando.

Nota:

La cantidad de espacio en disco mostrada no incluye el espacio en disco usado por los datos de auditoría, que se moverán con la colección de sitios.

Para obtener más información, vea Get-SPSiteAdministration.

Para archivar y recortar datos de auditoría con PowerShell

  1. Compruebe que tiene las pertenencias siguientes:
  • Rol fijo de servidor securityadmin en la instancia de SQL Server.

  • Rol fijo de base de datos db_owner en todas las bases de datos que se van a cargar.

  • Grupo de servidores en el servidor en el que se van a ejecutar los cmdlets de PowerShell.

    Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.

    Nota:

    Si no dispone de permisos, póngase en contacto con el administrador para la instalación o con el administrador de SQL Server para solicitarlos. Para más información sobre permisos de PowerShell, vea Add-SPShellAdmin.

  1. Inicie el Shell de administración de SharePoint.

  2. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

(Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.TrimAuditLog(deleteEndDate)

Donde:

  • <http://ServerName/Sites/SiteName> es el nombre de la colección de sitios.

Para eliminar los datos de auditoría sin archivarlos primero, escriba el siguiente comando:

(Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.DeleteEntries(deleteEndDate)

Para más información, vea Get-SPSite.

Nota:

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.

Mover colecciones de sitios entre bases de datos de contenido

Puede usar el comando Move-SPSite de PowerShell para mover colecciones de sitios entre bases de datos de contenido. Aquí se describen dos procedimientos. El primero consiste en mover una sola colección de sitios a una nueva base de datos de contenido y el segundo en mover varias colecciones de sitios a una nueva base de datos de contenido.

Para mover una sola colección de sitios

  1. Compruebe que cumple con las pertenencias siguientes:
  • Rol fijo de servidor securityadmin en la instancia de SQL Server.

  • Rol fijo de base de datos db_owner en todas las bases de datos que se van a cargar.

  • Grupo de servidores en el servidor en el que se van a ejecutar los cmdlets de PowerShell.

    Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.

    Nota:

    Si no dispone de permisos, póngase en contacto con el administrador para la instalación o con el administrador de SQL Server para solicitarlos. Para más información sobre permisos de PowerShell, vea Add-SPShellAdmin.

  1. Inicie el Shell de administración de SharePoint.

  2. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>

Donde:

  • <http://ServerName/Sites/SiteName> es el nombre de la colección de sitios.

  • <DestinationContentDb> es el nombre de la base de datos de contenido de destino.

Para mover varias colecciones de sitios

  1. Compruebe que cumple con las pertenencias siguientes:
  • Rol fijo de servidor securityadmin en la instancia de SQL Server.

  • Rol fijo de base de datos db_owner en todas las bases de datos que se van a cargar.

  • Grupo de servidores en el servidor en el que se van a ejecutar los cmdlets de PowerShell.

    Un administrador puede usar el cmdlet Add-SPShellAdmin para conceder permisos de uso para los cmdlets de SharePoint Server.

    Nota:

    Si no dispone de permisos, póngase en contacto con el administrador para la instalación o con el administrador de SQL Server para solicitarlos. Para más información sobre permisos de PowerShell, vea Add-SPShellAdmin.

  1. Inicie el Shell de administración de SharePoint.

  2. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>

Donde:

  • <SourceContentDb> es el nombre de la base de datos de contenido.

  • <DestinationContentDb> es el nombre de la base de datos de contenido de destino.

Este comando mueve todas las colecciones de sitios de la base de datos de contenido de origen a la base de datos de contenido de destino.

Para más información, vea Move-SPSite.

Nota:

Se recomienda usar Windows PowerShell para realizar tareas administrativas de línea de comandos. La herramienta de línea de comandos Stsadm ya no se usa, pero se ha incluido para ofrecer compatibilidad con las versiones anteriores del producto.

Consulte también

Conceptos

Agregar bases de datos de contenido en SharePoint Server