Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede mover las bases de datos del servidor de informes que se usan en un motor de base de datos de SQL Server de instalación a una instancia que se encuentra en un equipo diferente. Las bases de datos reportserver y reportservertempdb deben moverse o copiarse juntas. Una instalación de Reporting Services requiere ambas bases de datos; La base de datos reportservertempdb debe estar relacionada por su nombre con la base de datos del servidor de informes principal que va a mover.
Se aplica a: Modo nativo de Reporting Services.
Mover una base de datos no afecta a las operaciones programadas definidas actualmente para los elementos del servidor de informes.
Las programaciones se volverán a crear la primera vez que reinicie el servicio del servidor de informes.
Los trabajos del Agente SQL Server que se usan para desencadenar una programación se volverán a crear en la nueva instancia de base de datos. No es necesario mover los trabajos al nuevo equipo, pero es posible que desee eliminar trabajos en el equipo que ya no se usarán.
Las suscripciones, los informes almacenados en caché y las instantáneas se conservan en la base de datos movida. Si una instantánea no recoge los datos actualizados después de mover la base de datos, desactive las opciones de instantánea en el Administrador de informes, haga clic en Aplicar para guardar los cambios, vuelva a crear la programación y haga clic en Aplicar de nuevo para guardar los cambios.
Los datos temporales de sesión de usuario y informe almacenados en reportservertempdb se conservan al mover esa base de datos.
SQL Server proporciona varios enfoques para mover bases de datos, como copias de seguridad y restauración, adjuntar y desasociar y copiar. No todos los enfoques son adecuados para reubicar una base de datos existente en una nueva instancia de servidor. El enfoque que debe usar para mover la base de datos del servidor de informes variará en función de los requisitos de disponibilidad del sistema. La manera más fácil de mover las bases de datos del servidor de informes es asociarlas y separarlas. Sin embargo, este enfoque requiere que el servidor de informes esté fuera de línea mientras desconecte la base de datos. La copia de seguridad y restauración es una mejor opción si desea minimizar las interrupciones del servicio, pero debe ejecutar Transact-SQL comandos para realizar las operaciones. No se recomienda copiar la base de datos (en concreto, mediante el Asistente para copiar bases de datos); no conserva la configuración de permisos en la base de datos.
Importante
Se recomienda seguir los pasos proporcionados en este tema cuando reubicar la base de datos del servidor de informes sea el único cambio que realice en la instalación existente. La migración de una instalación completa de Reporting Services (es decir, mover la base de datos y cambiar la identidad del servicio Windows del servidor de informes que usa la base de datos) requiere reconfiguración de la conexión y un restablecimiento de clave de cifrado.
Desconexión y conexión de las bases de datos del servidor de informes
Si puede desconectar el servidor de informes, puede desasociar las bases de datos para moverlas a la instancia de SQL Server que desea usar. Este enfoque conserva los permisos en las bases de datos. Si usa una base de datos de SQL Server 2014, debe moverla a otra instancia de SQL Server 2014. Después de mover las bases de datos, debe volver a configurar la conexión del servidor de informes a la base de datos del servidor de informes. Si ejecuta una implementación distribuida, debe reconfigurar la conexión de base de datos del servidor de informes para cada servidor de informes de la implementación.
Siga estos pasos para mover las bases de datos:
Realice una copia de seguridad de las claves de cifrado de la base de datos del servidor de informes que desea mover. Puede usar la herramienta de configuración de Reporting Services para realizar una copia de seguridad de las claves.
Detenga el servicio del servidor de informes. Puede usar la herramienta de configuración de Reporting Services para detener el servicio.
Inicie SQL Server Management Studio y abra una conexión a la instancia de SQL Server que hospeda las bases de datos del servidor de informes.
Haga clic con el botón derecho en la base de datos del servidor de informes, seleccione Tareas y haga clic en Desasociar. Repita este paso para la base de datos temporal del servidor de informes.
Copie o mueva los archivos .mdf y .ldf a la carpeta Datos de la instancia de SQL Server que desea usar. Dado que va a mover dos bases de datos, asegúrese de mover o copiar los cuatro archivos.
En Management Studio, abra una conexión a la nueva instancia de SQL Server que hospedará las bases de datos del servidor de informes.
Haga clic con el botón derecho en el nodo Bases de datos y, a continuación, haga clic en Asociar.
Haga clic en Agregar para seleccionar la base de datos del servidor de informes .mdf y los archivos .ldf que desea adjuntar. Repita este paso para la base de datos temporal del servidor de informes.
Una vez adjuntadas las bases de datos, compruebe que
RSExecRolees un rol de base de datos en la base de datos del servidor de informes y en la base de datos temporal.RSExecRoledebe tener permisos de selección, inserción, actualización, eliminación y referencia en las tablas de base de datos del servidor de informes y ejecutar permisos en los procedimientos almacenados. Para obtener más información, vea Crear el RSExecRole.Inicie la herramienta de configuración de Reporting Services y abra una conexión al servidor de informes.
En la página Base de datos, seleccione la nueva instancia de SQL Server y haga clic en Conectar.
Seleccione la base de datos del servidor de informes que acaba de mover y, a continuación, haga clic en Aplicar.
En la página Claves de cifrado, haga clic en Restaurar. Especifique el archivo que contiene la copia de seguridad de las claves y la contraseña para desbloquear el archivo.
Reinicia el servicio del servidor de informes.
Copia de seguridad y restauración de las bases de datos del servidor de informes
Si no puede desconectar el servidor de informes, puede usar la copia de seguridad y la restauración para reubicar las bases de datos del servidor de informes. Debe usar instrucciones Transact-SQL para realizar la copia de seguridad y la restauración. Después de restaurar las bases de datos, debe configurar el servidor de informes para que use la base de datos en la nueva instancia del servidor. Para obtener más información, consulte las instrucciones al final de este tema.
Uso de BACKUP y COPY_ONLY para realizar copias de seguridad de las bases de datos del servidor de informes
Al realizar una copia de seguridad de las bases de datos, establezca el argumento COPY_ONLY. Asegúrese de realizar una copia de seguridad de las bases de datos y de los archivos de registro.
-- To permit log backups, before the full database backup, alter the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServer
SET RECOVERY FULL
-- If the ReportServerData device does not exist yet, create it.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerData',
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BACKUP\ReportServerData.bak'
-- Create a logical backup device, ReportServerLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerLog',
'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\BACKUP\ReportServerLog.bak'
-- Back up the full ReportServer database.
BACKUP DATABASE ReportServer
TO ReportServerData
WITH COPY_ONLY
-- Back up the ReportServer log.
BACKUP LOG ReportServer
TO ReportServerLog
WITH COPY_ONLY
-- To permit log backups, before the full database backup, alter the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE ReportServerTempdb
SET RECOVERY FULL
-- If the ReportServerTempDBData device does not exist yet, create it.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBData',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBData.bak'
-- Create a logical backup device, ReportServerTempDBLog.
USE master
GO
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBLog',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBLog.bak'
-- Back up the full ReportServerTempDB database.
BACKUP DATABASE ReportServerTempDB
TO ReportServerTempDBData
WITH COPY_ONLY
-- Back up the ReportServerTempDB log.
BACKUP LOG ReportServerTempDB
TO ReportServerTempDBLog
WITH COPY_ONLY
Usar RESTORE y MOVE para reubicar las bases de datos del servidor de informes
Al restaurar las bases de datos, asegúrese de incluir el argumento MOVE para que pueda especificar una ruta de acceso. Use el argumento NORECOVERY para realizar la restauración inicial; esto mantiene la base de datos en un estado RESTORE, lo que le da tiempo para revisar las copias de seguridad de registros para determinar cuál se va a restaurar. El paso final repite la operación RESTORE con el argumento RECOVERY.
El argumento MOVE usa el nombre lógico del archivo de datos. Para buscar el nombre lógico, ejecute la siguiente instrucción: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';
En los ejemplos siguientes se incluye el argumento FILE para que pueda especificar la posición del archivo de registro que se va a restaurar. Para buscar la posición del archivo, ejecute la instrucción siguiente: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';
Al restaurar la base de datos y los archivos de registro, debe ejecutar cada operación RESTORE por separado.
-- Restore the report server database and move to new instance folder
RESTORE DATABASE ReportServer
FROM DISK='C:\ReportServerData.bak'
WITH NORECOVERY,
MOVE 'ReportServer' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',
MOVE 'ReportServer_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';
GO
-- Restore the report server log file to new instance folder
RESTORE LOG ReportServer
FROM DISK='C:\ReportServerData.bak'
WITH NORECOVERY, FILE=2
MOVE 'ReportServer' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',
MOVE 'ReportServer_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';
GO
-- Restore and move the report server temporary database
RESTORE DATABASE ReportServerTempdb
FROM DISK='C:\ReportServerTempDBData.bak'
WITH NORECOVERY,
MOVE 'ReportServerTempDB' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',
MOVE 'ReportServerTempDB_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';
GO
-- Restore the temporary database log file to new instance folder
RESTORE LOG ReportServerTempdb
FROM DISK='C:\ReportServerTempDBData.bak'
WITH NORECOVERY, FILE=2
MOVE 'ReportServerTempDB' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',
MOVE 'ReportServerTempDB_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';
GO
-- Perform final restore
RESTORE DATABASE ReportServer
WITH RECOVERY
GO
-- Perform final restore
RESTORE DATABASE ReportServerTempDB
WITH RECOVERY
GO
Cómo configurar la conexión de base de datos del servidor de informes
Inicie el Administrador de configuración de Reporting Services y abra una conexión al servidor de informes.
En la página Base de datos, haga clic en Cambiar base de datos. Haga clic en Next.
Haga clic en Elegir una base de datos existente del servidor de informes. Haga clic en Next.
Seleccione el servidor SQL Server que ahora hospeda la base de datos del servidor de informes y haga clic en Probar conexión. Haga clic en Next.
En Nombre de base de datos, seleccione la base de datos del servidor de informes que desea usar. Haga clic en Next.
En Credenciales, especifique las credenciales que usará el servidor de informes para conectarse a la base de datos del servidor de informes. Haga clic en Next.
Haga clic en Siguiente y, a continuación, en Finalizar.
Nota:
Una instalación de Reporting Services requiere que la instancia del motor de base de datos de SQL Server incluya el RSExecRole rol . La creación de roles, el registro de inicio de sesión y las asignaciones de roles se producen al establecer la conexión de base de datos del servidor de informes a través de la herramienta de configuración de Reporting Services. Si usa enfoques alternativos (en concreto, si usa la utilidad del símbolo del sistema rsconfig.exe) para configurar la conexión, el servidor de informes no estará operativo. Es posible que tenga que escribir código WMI para que el servidor de informes esté disponible. Para obtener más información, vea Obtener acceso al proveedor WMI de Reporting Services.
Véase también
Creación de RSExecRole
Iniciar y detener el servicio del servidor de informes
Configurar una conexión de base de datos del servidor de informes (Administrador de configuración de SSRS)
Configuración de la cuenta de ejecución desatendida (Administrador de configuración de SSRS)
Administrador de configuración de Reporting Services (modo nativo)
rsconfig (utilidad) (SSRS)
Configuración y administración de claves de cifrado (Administrador de configuración de SSRS)
Base de datos del servidor de informes (modo nativo de SSRS)