Déplacement des bases de données du serveur de rapports vers un autre ordinateur (en mode natif SSRS)Moving the Report Server Databases to Another Computer (SSRS Native Mode)

Vous pouvez déplacer les bases de données du serveur de rapports qui sont utilisées dans une installation du SQL ServerSQL Server Moteur de base de donnéesDatabase Engine vers une instance située sur un autre ordinateur.You can move the report server databases that are used in an installation SQL ServerSQL Server Moteur de base de donnéesDatabase Engine to an instance that is on a different computer. Les bases de données reportserver et reportservertempdb doivent être déplacées ou copiées ensemble.Both the reportserver and reportservertempdb databases must be moved or copied together. Ces deux bases de données sont requises dans une installation Reporting ServicesReporting Services ; la base de données reportservertempdb doit être liée par nom à la base de données reportserver primaire que vous déplacez.A Reporting ServicesReporting Services installation requires both databases; the reportservertempdb database must be related by name to the primary reportserver database you are moving.

S’applique à :Applies to: Reporting ServicesReporting Services Native mode. S’applique à :Applies to: Reporting ServicesReporting Services Native mode.

Le déplacement d'une base de données n'a aucune incidence sur les opérations planifiées qui sont actuellement définies pour les éléments du serveur de rapports.Moving a database does not effect scheduled operations that are currently defined for report server items.

  • Les planifications sont recréées la première fois que vous redémarrerez le service Report Server.Schedules will be recreated the first time that you restart the Report Server service.

  • SQL ServerSQL Server Les travaux de l’Agent, qui sont utilisés pour déclencher une planification, sont recréés dans la nouvelle instance de base de données. Agent jobs that are used to trigger a schedule will be recreated on the new database instance. Vous n'avez pas à déplacer les travaux vers le nouvel ordinateur ; toutefois, vous pouvez supprimer des travaux sur l'ordinateur qui ne sera plus utilisé.You do not have to move the jobs to the new computer, but you might want to delete jobs on the computer that will no longer be used.

  • Les abonnements, les instantanés et les rapports mis en cache sont préservés dans la base de données déplacée.Subscriptions, cached reports, and snapshots are preserved in the moved database. Si un instantané ne collecte pas des données actualisées après le déplacement de la base de données, désactivez les options d’instantané dans le Gestionnaire de rapports, cliquez sur Appliquer pour enregistrer les modifications apportées, recréez la planification, puis cliquez à nouveau sur Appliquer pour enregistrer les modifications apportées.If a snapshot is not picking up refreshed data after the database is moved, clear the snapshot options in Report Manager, click Apply to save your changes, re-create the schedule, and click Apply again to save your changes.

  • Les données temporaires de session utilisateur et de rapport qui sont stockées dans reportservertempdb sont conservées lorsque vous déplacez la base de données.Temporary report and user session data that is stored in reportservertempdb are persisted when you move that database.

    SQL ServerSQL Server propose plusieurs approches pour déplacer les bases de données, notamment la sauvegarde et la restauration, l’attachement et le détachement, ainsi que la copie. provides several approaches for moving databases, including backup and restore, attach and detach, and copy. Les approches ne sont pas toutes appropriées lorsqu'il s'agit de déplacer une base de données vers une nouvelle instance de serveur.Not all approaches are appropriate for relocating an existing database to a new server instance. L'approche à utiliser pour déplacer la base de données du serveur de rapports varie selon les impératifs de disponibilité de votre système.The approach that you should use to move the report server database will vary depending on your system availability requirements. Pour déplacer les bases de données du serveur de rapports, la méthode la plus simple consiste à les attacher et à les détacher.The easiest way to move the report server databases is to attach and detach them. Cependant, cette approche exige une mise hors connexion du serveur de rapports durant le détachement de la base de données.However, this approach requires that you take the report server offline while you detach the database. La méthode de sauvegarde et de restauration est un choix plus judicieux si vous voulez minimiser les perturbations de service, mais vous devez exécuter des commandes Transact-SQLTransact-SQL pour effectuer les opérations.Backup and restore is a better choice if you want to minimize service disruptions, but you must run Transact-SQLTransact-SQL commands to perform the operations. La copie de la base de données n'est pas recommandée (surtout à l'aide de l'Assistant Copie de base de données), car elle ne conserve pas les paramètres d'autorisation dans la base de données.Copying the database is not recommended (specifically, by using the Copy Database Wizard); it does not preserve permission settings in the database.

Important

Les procédures décrites dans cette rubrique sont recommandées lorsque le déplacement de la base de données du serveur de rapports est la seule modification que vous apportez à l'installation existante.The steps provided in this topic are recommended when relocating the report server database is the only change you are making to the existing installation. Procéder à la migration de toute une installation Reporting ServicesReporting Services (c’est-à-dire déplacer la base de données et modifier l’identité du service Windows Report Server utilisant la base de données) nécessite la reconfiguration de la connexion et la réinitialisation de la clé de chiffrement.Migrating an entire Reporting ServicesReporting Services installation (that is, moving the database and changing the identity of the Report Server Windows service that uses the database) requires connection reconfiguration and an encryption key reset.

Détachement et attachement des bases de données du serveur de rapportsDetaching and Attaching the Report Server Databases

Si vous pouvez procéder à une mise hors connexion du serveur de rapports, vous pouvez détacher les bases de données pour les déplacer vers l'instance SQL ServerSQL Server que vous souhaitez utiliser.If you can take the report server offline, you can detach the databases to move them to the SQL ServerSQL Server instance you want to use. Cette approche permet de conserver les autorisations définies dans les bases de données.This approach preserves permissions in the databases. Si vous utilisez une base de données SQL Server, vous devez le déplacer vers une autre instance de SQL Server.If you are using a SQL Server database, you must move it to another SQL Server instance. Une fois que vous avez déplacé les bases de données, vous devez reconfigurer la connexion du serveur de rapports à la base de données du serveur de rapports.After you move the databases, you must reconfigure the report server connection to the report server database. Si vous exécutez un déploiement avec montée en puissance parallèle, vous devez reconfigurer la connexion à la base de données du serveur de rapports pour chaque serveur de rapports appartenant au déploiement.If you are running a scale-out deployment, you must reconfigure the report server database connection for each report server in the deployment.

Suivez la procédure ci-dessous pour déplacer les bases de données :Use the following steps to move the databases:

  1. Sauvegardez les clés de chiffrement de la base de données du serveur de rapports que vous souhaitez déplacer.Backup the encryption keys for the report server database you want to move. Vous pouvez utiliser l’outil de configuration de Reporting ServicesReporting Services pour sauvegarder les clés.You can use the Reporting ServicesReporting Services Configuration tool backup the keys.

  2. Arrêtez le service Report Server.Stop the Report Server service. Vous pouvez utiliser l'outil de configuration de Reporting ServicesReporting Services pour arrêter le service.You can use the Reporting ServicesReporting Services Configuration tool to stop the service.

  3. Démarrez SQL ServerSQL Server Management StudioManagement Studio et établissez une connexion à l’instance de SQL ServerSQL Server qui héberge les bases de données du serveur de rapports.Start SQL ServerSQL Server Management StudioManagement Studio and open a connection to the SQL ServerSQL Server instance that hosts the report server databases.

  4. Cliquez avec le bouton droit sur la base de données du serveur de rapports, puis cliquez sur Détacher.Right-click the report server database, point to Tasks, and click Detach. Répétez cette étape pour chaque base de données temporaire du serveur de rapports.Repeat this step for the report server temporary database.

  5. Copiez ou déplacez les fichiers .mdf et .ldf vers le dossier Data de l'instance SQL ServerSQL Server que vous souhaitez utiliser.Copy or move the .mdf and .ldf files to the Data folder of the SQL ServerSQL Server instance you want to use. Étant donné que vous déplacez deux bases de données, vérifiez que vous déplacez ou copiez les quatre fichiers.Because you are moving two databases, make sure that you move or copy all four files.

  6. Dans Management StudioManagement Studio, établissez une connexion à la nouvelle instance SQL ServerSQL Server qui hébergera les bases de données du serveur de rapports.In Management StudioManagement Studio, open a connection to the new SQL ServerSQL Server instance that will host the report server databases.

  7. Cliquez avec le bouton droit sur le nœud Bases de données, puis cliquez sur Détacher.Right-click the Databases node, and then click Attach.

  8. Cliquez sur Ajouter pour sélectionner les fichiers .mdf et .ldf de base de données du serveur de rapports que vous voulez attacher.Click Add to select the report server database .mdf and .ldf files that you want to attach. Répétez cette étape pour chaque base de données temporaire du serveur de rapports.Repeat this step for the report server temporary database.

  9. Une fois les bases de données attachées, vérifiez que RSExecRole est un rôle de base de données dans la base de données du serveur de rapports et la base de données temporaire.After the databases are attached, verify that the RSExecRole is a database role in the report server database and temporary database. RSExecRole doit disposer des autorisations de sélection, d’insertion, de mise à jour, de suppression et de référence sur les tables de la base de données du serveur de rapports, et de l’autorisation d’exécution sur les procédures stockées.RSExecRole must have select, insert, update, delete, and reference permissions on the report server database tables, and execute permissions on the stored procedures. Pour plus d’informations, consultez Créer le rôle RSExecRole.For more information, see Create the RSExecRole.

  10. Démarrez l’outil de configuration de Reporting ServicesReporting Services , puis établissez une connexion au serveur de rapports.Start the Reporting ServicesReporting Services Configuration tool and open a connection to the report server.

  11. Dans la page Installation de la base de données, sélectionnez la nouvelle instance SQL ServerSQL Server , puis cliquez sur Se connecter.On the Database page, select the new SQL ServerSQL Server instance, and then click Connect.

  12. Sélectionnez la base de données de serveur de rapports que vous venez de déplacer, puis cliquez sur Appliquer.Select the report server database that you just moved, and then click Apply.

  13. Dans la page Clés de chiffrement, cliquez sur Restaurer.On the Encryption Keys page, click Restore. Spécifiez le fichier qui contient la copie de sauvegarde des clés, ainsi que le mot de passe qui déverrouille le fichier.Specify the file that contains the backup copy of the keys and the password to unlock the file.

  14. Redémarrez le service Report Server.Restart the Report Server service.

Sauvegarde et restauration des bases de données du serveur de rapportsBacking Up and Restoring the Report Server Databases

Si vous ne pouvez pas procéder à la mise hors connexion du serveur de rapports, vous pouvez utiliser la sauvegarde et la restauration pour déplacer les bases de données du serveur de rapports.If you cannot take the report server offline, you can use backup and restore to relocate the report server databases. Vous devez utiliser des instructions Transact-SQLTransact-SQL pour les opérations de sauvegarde et de restauration.You must use Transact-SQLTransact-SQL statements to do the backup and restore. Une fois les bases de données restaurées, vous devez configurer le serveur de rapports pour qu'il utilise la base de données sur la nouvelle instance de serveur.After you restore the databases, you must configure the report server to use the database on the new server instance. Pour plus d'informations, consultez les instructions figurant à la fin de cette rubrique.For more information, see the instructions at the end of this topic.

Utilisation de BACKUP et COPY_ONLY pour sauvegarder les bases de données du serveur de rapportsUsing BACKUP and COPY_ONLY to Backup the Report Server Databases

Lorsque vous sauvegardez les bases de données, définissez l'argument COPY_ONLY.When backing up the databases, set the COPY_ONLY argument. Veillez à sauvegarder les fichiers de base de données et les fichiers journaux.Be sure to back up both of the databases and log files.

-- 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\MSSQL13.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\MSSQL13.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  

Utilisation de RESTORE et de MOVE pour déplacer les bases de données du serveur de rapportsUsing RESTORE and MOVE to Relocate the Report Server Databases

Lorsque vous restaurez les bases de données, veillez à inclure l'argument MOVE pour pouvoir spécifier un chemin d'accès.When restoring the databases, be sure to include the MOVE argument so that you can specify a path. Utilisez l'argument NORECOVERY pour effectuer la restauration initiale ; la base de données reste ainsi dans l'état de restauration, ce qui vous laisse le temps de vérifier les sauvegardes des journaux pour déterminer ceux qui doivent être restaurés.Use the NORECOVERY argument to perform the initial restore; this keeps the database in a RESTORING state, giving you time to review log backups to determine which one to restore. L'étape finale répète l'opération RESTORE avec l'argument RECOVERY.The final step repeats the RESTORE operation with the RECOVERY argument.

L'argument MOVE utilise le nom logique du fichier de données.The MOVE argument uses the logical name of the data file. Pour trouver le nom logique, exécutez l'instruction suivante : RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';To find the logical name, execute the following statement: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';

Les exemples suivants incluent l'argument FILE pour que vous puissiez spécifier la position de fichier du fichier journal à restaurer.The following examples include the FILE argument so that you can specify the file position of the log file to restore. Pour trouver la position de fichier, exécutez l'instruction suivante : RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';To find the file position, execute the following statement: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';

Lorsque vous restaurez les fichiers de base de données et les fichiers journaux, vous devez exécuter chaque opération RESTORE séparément.When restoring the database and log files, you should run each RESTORE operation separately.

-- 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  

Procédure à suivre pour configurer la connexion à la base de données du serveur de rapportsHow to Configure the Report Server Database Connection

  1. Démarrez le Gestionnaire de configuration de Reporting ServicesReporting Services , puis établissez une connexion au serveur de rapports.Start the Reporting ServicesReporting Services Configuration Manager and open a connection to the report server.

  2. Dans la page Base de données, cliquez sur Modifier la base de données.On the Database page, click Change Database. Cliquez sur Suivant.Click Next.

  3. Cliquez sur Choisir une base de données de serveur de rapports existante.Click Choose an existing report server database. Cliquez sur Suivant.Click Next.

  4. Sélectionnez le serveur SQL ServerSQL Server qui héberge désormais la base de données du serveur de rapports, puis cliquez sur Tester la connexion.Select the SQL ServerSQL Server that now hosts the report server database and click Test Connection. Cliquez sur Suivant.Click Next.

  5. Dans Nom de la base de données, sélectionnez la base de données du serveur de rapports que vous voulez utiliser.In Database Name, select the report server database that you want to use. Cliquez sur Suivant.Click Next.

  6. Dans Informations d'identification, spécifiez les informations d'identification que le serveur de rapports doit utiliser pour se connecter à la base de données du serveur de rapports.In Credentials, specify the credentials that the report server will use to connect to the report server database. Cliquez sur Suivant.Click Next.

  7. Cliquez sur Suivant , puis sur Terminer.Click Next and then Finish.

Note

Une installation Reporting ServicesReporting Services nécessite que l’instance du Moteur de base de données SQL ServerSQL Server Database Engine comporte le rôle RSExecRole .A Reporting ServicesReporting Services installation requires that the Moteur de base de données SQL ServerSQL Server Database Engine instance include the RSExecRole role. La création de rôles, l’inscription d’une connexion et les attributions de rôles ont lieu quand vous définissez la connexion à la base de données du serveur de rapports par le biais de l’outil de configuration de Reporting ServicesReporting Services .Role creation, login registration, and role assignments occur when you set the report server database connection through the Reporting ServicesReporting Services Configuration tool. Si vous utilisez d'autres approches (surtout si vous recourez à l'utilitaire d'invite de commandes rsconfig.exe) pour configurer la connexion, le serveur de rapports ne sera pas en état de fonctionner.If you use alternate approaches (specifically, if you use the rsconfig.exe command prompt utility) to configure the connection, the report server will not be in a working state. Vous devrez peut-être écrire du code WMI pour rendre le serveur de rapports disponible.You might have to write WMI code to make the report server available. Pour plus d’informations, consultez Accéder au fournisseur WMI de Reporting Services.For more information, see Access the Reporting Services WMI Provider.

Étapes suivantesNext steps

Créer le rôle RSExecRole Create the RSExecRole
Démarrer et arrêter le service Report Server Start and Stop the Report Server Service
Configurer une connexion de base de données de serveur de rapports Configure a Report Server Database Connection
Configurer le compte d’exécution sans assistance Configure the Unattended Execution Account
Gestionnaire de Configuration de Reporting Services Reporting Services Configuration Manager
Utilitaire RSConfig rsconfig Utility
Configurer et gérer les clés de chiffrement Configure and Manage Encryption Keys
Base de données du serveur de rapportsReport Server Database

D’autres questions ?More questions? Essayez de poser le forum Reporting ServicesTry asking the Reporting Services forum