Mover bases de datos de contenido en SharePoint Server
SE APLICA A:2013 2016 2019 SharePoint en Microsoft 365
En este artículo se describe cómo mover bases de datos de contenido entre servidores que ejecutan SQL Server, entre instancias de SQL Server o de una aplicación web de SharePoint Server a otra.
Importante
En este artículo solo se describe cómo mover bases de datos de contenido. Para obtener información sobre cómo mover otros tipos de bases de datos asociadas a SharePoint Server, vea Mover o cambiar el nombre de las bases de datos de aplicaciones de servicio en SharePoint Server y Mover todas las bases de datos de SharePoint Server.
Puede mover bases de datos de contenido mediante el sitio web de Administración central de SharePoint o Microsoft PowerShell y las herramientas de SQL Server. La herramienta que utilice dependerá del tipo de entorno que tenga implementado, de las necesidades de la programación y los acuerdos de nivel de servicio que haya hecho con la organización.
Antes de empezar
Antes de comenzar esta operación para mover una base de datos de contenido, revise las siguientes tareas. Cada tarea es un procedimiento que debe realizarse en el orden indicado. Tenga en cuenta que al mover bases de datos de contenido, debe usar herramientas de SharePoint Server y herramientas de SQL Server. Puede usar Administración central o Windows PowerShell 3.0 para esta operación.
Grabe el nombre de la base de datos de contenido y la aplicación web a la que está asociada.
Pause las aplicaciones de servicio y los servicios que puedan ejecutarse en la base de datos de contenido, incluidos los trabajos del temporizador y los rastreos de búsqueda.
Quite la base de datos de contenido de SharePoint Server de la aplicación web.
Desasocie la base de datos de contenido de la instancia actual de SQL Server.
Importante
Para mover el archivo de base de datos de contenido dentro de la misma instancia de SQL Server, se recomienda usar la cláusula FILENAME de la instrucción ALTER DATABASE . Para obtener más información, vea Mover bases de datos de usuario.
Importante
Para mover una base de datos de contenido a otra instancia de SQL Server o a otro servidor, se recomienda seguir los procedimientos descritos en Adjuntar y separar bases de datos (SQL Server) o Realizar copias de seguridad y restaurar bases de datos de SQL Server.
Copie o mueva los archivos .mdf, .ndf y .ldf de la base de datos de contenido de la ubicación de origen a la ubicación de destino con el Explorador de archivos.
Asocie la base de datos de contenido a la nueva instancia de SQL Server.
Agregue la base de datos de contenido a la aplicación web de destino en SharePoint Server.
Importante
Use el nombre idéntico al agregar la base de datos de contenido o cuando SharePoint Server cree una base de datos de contenido.
Reinicie todas las aplicaciones de servicio y servicios que haya detenido en el paso 2.
Mover bases de datos de contenido mediante Administración central
Siga este procedimiento para mover las bases de datos de contenido de su granja de servidores de SharePoint Server con Administración central.
Los procedimientos de esta sección usan Administración central para mover bases de datos de contenido. No obstante, cuando realice los siguientes procedimientos, debe usar la herramienta correcta:
Para registrar qué bases de datos de contenido están asociadas a cada aplicación web: PowerShell
Para separar las bases de datos de contenido de SQL Server: herramientas de SQL Server
Para mover las bases de datos de contenido a una nueva ubicación: Explorador de archivos o Explorador de Windows
Para adjuntar las bases de datos de contenido a la nueva instancia de SQL Server: herramientas de SQL Server
Nota:
Los procedimientos de esta sección usan Administración central para mover bases de datos de contenido. Sin embargo, el primer procedimiento debe realizarse mediante PowerShell.
Si va a mover una base de datos de contenido a un conjunto o granja de servidores diferente, debe asociar la cuenta de la granja de servidores al grupo Administradores en el servidor de bases de datos durante el proceso de restauración. Esto permite que la cuenta replique la configuración de seguridad de las bases de datos. Este nivel de acceso se puede quitar después de mover la base de datos de contenido. Para obtener más información, vea Configurar la seguridad y los permisos de cuenta en SharePoint Server 2016.
La granja de servidores de destino debe ejecutar la misma versión de SharePoint Server o una versión posterior que la granja de servidores de origen.
1. Para grabar las bases de datos de contenido que están asociadas con cada aplicación web
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
Get-SPContentDatabase -WebApplication <http://SiteName>
Dónde: <http://SiteName> es la dirección URL de la aplicación web.
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.
2. Para pausar trabajos del temporizador con Administración central
Compruebe si la cuenta de usuario que lleva a cabo este procedimiento pertenece al grupo de administradores de la granja de servidores de SharePoint.
En Administración central, en la sección Supervisión, haga clic en Comprobar estado de trabajo.
Para cada trabajo programado que se inicia en la base de datos de contenido que se va a mover, haga clic en el trabajo para abrir la página Editar trabajo del temporizador, haga clic en Deshabilitar y haga clic en Aceptar.
3. Para desasociar las bases de datos de contenido de una aplicación web con Administración central
Compruebe si la cuenta de usuario que lleva a cabo este procedimiento pertenece al grupo de administradores de la granja de servidores de SharePoint.
En Administración central, en la sección Administración de aplicaciones, haga clic en Administrar bases de datos de contenido.
En la página Administrar bases de datos de contenido, haga clic en la base de datos de contenido que desea mover.
Se abrirá la página Administrar configuración de base de datos de contenido.
Nota:
Si la base de datos de contenido no aparece en la lista, se puede asociar con otra aplicación web. Para seleccionar otra aplicación web, en el menú Aplicación web, haga clic en Cambiar aplicación web.
En la sección Quitar base de datos de contenido de la página Administrar configuración de bases de datos de contenido, active la casilla Quitar base de datos de contenido y, a continuación, haga clic en Aceptar.
Nota:
Al quitar la base de datos de contenido, no se elimina. Solo se quita la asociación de la base de datos con la aplicación web.
Repita los pasos 3 y 4 para cada base de datos de contenido que desee mover.
4. Para desasociar las bases de datos de contenido de SQL Server
Compruebe si la cuenta de usuario que va a realizar este procedimiento pertenece a la función de base de datos fija db_owner en el servidor de bases de datos en el que se almacena cada base de datos.
En SQL Server Management Studio, abra la instancia de origen SQL Server y expanda el nodo Bases de datos.
Haga clic con el botón secundario en la base de datos de contenido, elija Tareas y, a continuación, haga clic en Desasociar. Repita este paso para cada base de datos de contenido que desee mover.
Nota:
Use este procedimiento para mover únicamente bases de datos de contenido. No desasocie ningún otro tipo de base de datos.
5. Para mover las bases de datos de contenido a una nueva ubicación
Compruebe si la cuenta de usuario que va a realizar este procedimiento dispone de acceso de escritura en las carpetas de origen y de destino.
Con el Explorador de archivos, busque los archivos .mdf, .ldf y .ndf de las bases de datos de contenido.
Seleccione los archivos .mdf, .ldf y .ndf de la base de datos que desea mover y cópielos o muévalos al directorio de destino.
6. Para adjuntar las bases de datos de contenido a la nueva instancia de SQL Server
Compruebe si la cuenta de usuario que va a realizar este procedimiento pertenece a la función fija de servidor dbcreator en el servidor de bases de datos en el que se almacena cada base de datos.
En Management Studio, abra la instancia de destino de SQL Server.
Haga clic con el botón secundario en el nodo Bases de datos, elija Tareas y haga clic en Adjuntar.
En el cuadro de diálogo Adjuntar base de datos , vaya al lugar donde transfirió los archivos .mdf, .ldf y .ndf, seleccione el archivo .mdf de la base de datos que desea adjuntar y, a continuación, haga clic en Aceptar.
Repita el proceso para cada base de datos de contenido que desee mover.
7. Para asociar las bases de datos de contenido a la aplicación web con Administración central
Compruebe si la cuenta de usuario que va a realizar este procedimiento es miembro del grupo Administradores de la granja de servidores.
En Administración central, en la sección Administración de aplicaciones, haga clic en Administrar bases de datos de contenido.
En la página Administrar bases de datos de contenido, haga clic en Agregar una base de datos de contenido.
En la página Agregar base de datos de contenido, compruebe que el menú Aplicación web muestra la aplicación web correcta.
En el cuadro Servidor, especifique el servidor de bases de datos que hospeda la base de datos.
En el cuadro Nombre de la base de datos, escriba el nombre exacto de la base de datos de contenido transferida.
Nota:
Compruebe que el nombre sea correcto. Si no lo es, se creará una nueva base de datos.
Especifique el método de autenticación para la base de datos y, a continuación, haga clic en Aceptar.
Repita estos pasos para cada base de datos que desee agregar. Asegúrese de seleccionar la aplicación web correcta en el menú Aplicación web para cada base de datos.
8. Para reiniciar trabajos de temporizador mediante Administración central
Compruebe si la cuenta de usuario que va a realizar este procedimiento es miembro del grupo Administradores de la granja de servidores.
En Administración central, en la sección Supervisión, haga clic en Comprobar estado de trabajo.
Haga clic en cada trabajo programado que se ha deshabilitado previamente, para abrir la página Editar trabajo del temporizador. A continuación, seleccione Habilitar y haga clic en Aceptar.
Traslado de bases de datos de contenido mediante PowerShell
Siga este procedimiento para mover las bases de datos de contenido de su granja de servidores de SharePoint Server con PowerShell.
Los procedimientos de esta sección usan PowerShell para mover bases de datos de contenido. No obstante, cuando realice los siguientes procedimientos, debe usar la herramienta correcta:
Para separar las bases de datos de contenido de SQL Server: herramientas de SQL Server
Para mover las bases de datos de contenido a una nueva ubicación: Explorador de archivos
Para adjuntar las bases de datos de contenido a la nueva instancia de SQL Server: herramientas de SQL Server
Nota:
Si va a mover una base de datos de contenido a un conjunto o granja de servidores diferente, debe asociar la cuenta de la granja de servidores al grupo Administradores en el servidor de bases de datos durante el proceso de restauración. Esto permite que la cuenta replique la configuración de seguridad de las bases de datos. Este nivel de acceso se puede quitar después de mover la base de datos de contenido.
La granja de servidores de destino debe ejecutar la misma versión de SharePoint Server o una versión posterior que la granja de servidores de origen.
1. Para grabar las bases de datos de contenido que están asociadas con cada aplicación web
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
Get-SPContentDatabase -WebApplication <http://SiteName>
Dónde: <http://SiteName> es la dirección URL de la aplicación web.
Para más información, vea Get-SPContentDatabase
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.
2. Para pausar trabajos del temporizador con PowerShell
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }
Donde:
<http://WebApplicationURL> es la aplicación web asociada con la base de datos de contenido que se va a mover.
<c:\timerjobfile.txt> es la ubicación del archivo que se va a crear, que enumera todos los trabajos del temporizador asociados con la aplicación web.
Para obtener más información, consulte Get-SPTimerJob, Out-File, ForEach-Object, Get-Content y Disable-SPTimerJob.
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.
3. Para desasociar bases de datos de contenido de una aplicación web con PowerShell
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
Dismount-SPContentDatabase "<ContentDB>"
Dónde: <ContentDB> es el nombre de la base de datos de contenido.
Nota:
Si tiene varias bases de datos de contenido con el mismo nombre, debe usar el GUID (Identificador exclusivo global) en el comando en vez del nombre. Para recuperar el GUID de la base de datos de contenido, ejecute el cmdlet Get-SPContentDatabase sin argumentos.
Para obtener más información, vea Dismount-SPContentDatabase y Get-SPContentDatabase.
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.
4. Para desasociar las bases de datos de contenido de SQL Server
Compruebe si la cuenta de usuario que va a realizar este procedimiento pertenece a la función de base de datos fija db_owner en el servidor de bases de datos en el que se almacena cada base de datos.
En Management Studio, abra la instancia de origen de SQL Server y expanda el nodo Bases de datos.
Haga clic con el botón secundario en la base de datos de contenido, elija Tareas y, a continuación, haga clic en Desasociar. Repita este paso para cada base de datos de contenido que desee mover.
Nota:
Use este procedimiento para mover únicamente bases de datos de contenido. No desasocie ningún otro tipo de base de datos.
5. Para mover las bases de datos de contenido a una nueva ubicación
Compruebe si la cuenta de usuario que va a realizar este procedimiento dispone de acceso de escritura en las carpetas de origen y de destino.
Con el Explorador de archivos, busque los archivos .mdf, .ldf y .ndf de las bases de datos de contenido.
Seleccione los archivos .mdf, .ldf y .ndf de la base de datos que desea mover y cópielos o muévalos al directorio de destino.
6. Para adjuntar las bases de datos de contenido a la nueva instancia de SQL Server
Compruebe si la cuenta de usuario que va a realizar este procedimiento pertenece a la función fija de servidor dbcreator en el servidor de bases de datos en el que se almacena cada base de datos.
En Management Studio, abra la instancia de destino de SQL Server.
Haga clic con el botón secundario en el nodo Bases de datos, elija Tareas y haga clic en Adjuntar.
En el cuadro de diálogo Adjuntar base de datos , vaya al lugar donde transfirió los archivos .mdf, .ldf y .ndf, seleccione el archivo .mdf de la base de datos que desea adjuntar y, a continuación, haga clic en Aceptar.
Repita el proceso para cada base de datos de contenido que desee mover.
7. Para asociar bases de datos de contenido de una aplicación web con PowerShell
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
Donde:
<ContentDB> es el nombre de la base de datos de contenido que se va a adjuntar.
<DBServer> es el nombre del servidor de bases de datos.
<http://SiteName> es la dirección URL de la aplicación web a la que se va a adjuntar la base de datos de contenido.
Para más información, vea Mount-SPContentDatabase.
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.
8. Para reiniciar trabajos del temporizador con PowerShell
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.
Los roles fijos de servidor dbcreator y securityadmin en el servidor de destino, a fin de adjuntar la base de datos y configurar inicios de sesión de SQL Server.
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.
Inicie el Shell de administración de SharePoint.
En el símbolo del sistema de PowerShell, escriba el comando siguiente:
ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
Dónde: <c:\timerjobfile.txt> es la ubicación del archivo que creó que enumera todos los trabajos del temporizador asociados a la aplicación web.
Para obtener más información, consulte Get-SPTimerJob, ForEach-Object, Get-Content y Enable-SPTimerJob.
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.