Mettre à niveau des rapports (SSRS)

S’applique à : SQL Server 2016 (13.x) Power BI Report Server

Les fichiers de définition de rapport (.rdl) existants sont automatiquement mis à niveau de différentes façons :

  • Quand vous ouvrez un rapport paginé dans le Concepteur de rapports de SQL Server Data Tools (SSDT), la définition du rapport est mise à niveau avec le schéma RDL pris en charge. Quand vous spécifiez un serveur de rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) dans les propriétés du projet, la définition de rapport est enregistrée dans un schéma compatible avec le serveur cible.

  • Quand vous mettez à niveau une installation Reporting Services vers une installation SQL Server 2016 (13.x) Reporting Services ou ultérieur (SSRS), les rapports et les instantanés existants qui ont été publiés sur un serveur de rapports sont compilés et mis à niveau automatiquement avec le nouveau schéma la première fois qu’ils sont traités. Si un rapport ne peut pas être mis à niveau automatiquement, le rapport est traité à l'aide du mode de compatibilité ascendante. La définition de rapport reste dans le schéma d'origine.

Après la mise à niveau d'un rapport en local ou sur le serveur de rapports, vous pouvez noter la présence d'erreurs, d'avertissements et de messages. Cette présence est liée aux améliorations apportées au modèle objet de rapport interne et aux composants de traitement. En effet, des messages apparaissent lors de la détection de problèmes sous-jacents dans le rapport. Pour plus d’informations, consultez Compatibilité descendante de Reporting Services.

Pour plus d’informations sur les nouvelles caractéristiques de SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS), consultez Nouveautés de SQL Server Reporting Services (SSRS).

Versions prises en charge par la mise à niveau

Les rapports créés dans une version précédente de Reporting Services peuvent être mis à niveau. Les versions concernées sont les suivantes :

  • SQL Server 2008 (10.0.x)

  • SQL Server 2008 R2 (10.50.x)

  • SQL Server 2012 (11.x)

  • SQL Server 2014 (12.x)

Fichiers de définition de rapport (.rdl) et Concepteur de rapports

Un fichier de définition de rapport comprend une référence à l'espace de noms RDL qui indique la version du schéma de définition de rapport utilisé pour valider le fichier .rdl.

Quand vous ouvrez un fichier .rdl dans le Concepteur de rapports de SQL Server Data Tools (SSDT), si le rapport a été créé pour un espace de noms antérieur, le Concepteur de rapports crée automatiquement un fichier de sauvegarde et met à niveau le rapport en fonction de l’espace de noms actuel. Il s'agit de la seule façon dont vous pouvez mettre à niveau un fichier de définition de rapport.

Les propriétés de déploiement que vous définissez peuvent affecter le choix du schéma d'enregistrement du fichier de définition de rapport. Pour plus d’informations, consultez Déploiement et prise en charge des versions dans SQL Server Data Tools (SSRS).

Vous pouvez télécharger un fichier .rdl créé dans une version antérieure de Reporting Services sur la nouvelle version. Il est mis à niveau automatiquement à la première utilisation. Le serveur de rapports stocke le fichier de définition de rapport dans le format d'origine. Le rapport est automatiquement mis à niveau la première fois où il est affiché, mais le fichier de définition de rapport stocké demeure inchangé.

Pour identifier le schéma RDL actuel d’un rapport, d’un serveur de rapports ou du Concepteur de rapports, consultez Rechercher la version du schéma de définition de rapport (SSRS).

Rapports publiés et instantanés de rapport

Lors de la première utilisation, le serveur de rapports essaie de mettre à niveau les rapports publiés et les instantanés de rapport existants vers le nouveau schéma de définition de rapport, en ne requérant aucune action spécifique de votre part. Lorsqu'un utilisateur affiche un rapport ou un instantané de rapport, ou lorsque le serveur de rapports traite un abonnement, la mise à niveau s'effectue. La définition de rapport n’est pas remplacée, mais continue à être stockée sur le serveur de rapports dans son schéma d’origine. Si un rapport ne peut pas être mis à niveau, le rapport s'exécute en mode compatibilité descendante.

Mode compatibilité descendante

Un rapport qui est mis à niveau avec succès est traité par le processeur de rapports SQL Server 2016 (13.x) Reporting Services ou ultérieur (SSRS). Un rapport qui ne peut pas être mis à niveau est traité par le processeur de rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services en mode de compatibilité descendante. Un rapport ne peut pas être traité par les deux processeurs de rapports. Lors de la première utilisation, un rapport est mis à niveau avec succès ou marqué pour la compatibilité descendante.

Seul le processeur de rapports SQL Server 2016 (13.x) Reporting Services ou ultérieur (SSRS) prend en charge de nouvelles caractéristiques. Si un rapport ne peut pas être mis à niveau, vous pouvez toujours consulter le rapport rendu, mais les nouvelles fonctionnalités ne sont pas disponibles. Pour tirer parti des nouvelles fonctionnalités, un rapport doit être mis à niveau avec succès.

Mise à niveau d'un rapport avec les sous-rapports

Quand un rapport contient des sous-rapports, l'un des quatre états suivants peut se produire pendant la mise à niveau :

  • Le rapport principal et tous les sous-rapports peuvent être mis à niveau avec succès. Ils sont traités par le processeur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS).

  • Le rapport principal et tous les sous-états ne peuvent pas être mis à niveau. Ils sont traités par le processeur de rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services.

  • Le rapport principal peut être mis à niveau, mais un ou plusieurs sous-rapports ne peuvent pas être mis à niveau. Le rapport principal est traité par le processeur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS), mais le rapport rendu affiche le message « Erreur : le sous-rapport n’a pas pu être traité » à l’emplacement où le sous-rapport qui n’a pas pu être mis à niveau devrait apparaître.

  • Le rapport principal ne peut pas être mis à niveau, mais un ou plusieurs sous-rapports peuvent l'être. Le rapport principal est traité par le processeur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS), mais le rapport rendu affiche le message « Erreur : le sous-rapport n’a pas pu être traité » à l’emplacement où le sous-rapport devrait apparaître.

Si le précédent message d'erreur apparaît, vous devez modifier la définition du rapport principal ou du sous-rapport afin que tous les rapports puissent être traités par la même version du processeur de rapports.

Les rapports d'extraction n'ont pas cette limitation parce qu'ils sont traités en tant que rapports indépendants.

Mise à niveau d'un rapport avec les éléments de rapport personnalisés

Les rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services peuvent contenir des éléments de rapport personnalisés proposés par des éditeurs de logiciels tiers et installés par l’administrateur système sur l’ordinateur de création de rapports et sur le serveur de rapports. Les rapports qui contiennent des éléments de rapport personnalisés peuvent être mis à niveau de différentes façons :

  • Un serveur de rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services est mis à niveau vers un serveur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS). Les rapports publiés sur le serveur de rapports sont automatiquement mis à niveau lors de la première utilisation.

  • Un rapport SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services est chargé vers un serveur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS). Le rapport est automatiquement mis à niveau lors de la première utilisation.

  • Un rapport SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services est ouvert dans le Concepteur de rapports de SQL Server Data Tools (SSDT). Une copie de sauvegarde du rapport original est créée. L'un des deux cas suivants se produit :

    1. Tous les éléments de rapport personnalisés du rapport n'ont pas de fonctionnalités non prises en charge. Les éléments de rapport personnalisés sont convertis en éléments de rapport dans le nouveau schéma de définition de rapport, de telle sorte que la totalité du rapport soit mise à niveau. Si vous enregistrez le fichier, il est enregistré dans l'espace de noms RDL courant.

    2. Un ou plusieurs éléments de rapport personnalisés du rapport ont des fonctionnalités non prises en charge. Une boîte de dialogue invite l'utilisateur à convertir les éléments de rapport personnalisés ou à les laisser inchangés.

    Pour plus d'informations, consultez Ouverture d'un rapport dans le Concepteur de rapports plus bas dans cette rubrique.

Pour plus d’informations sur l’identification de l’espace de noms RDL en cours d’un serveur de rapports, de SQL Server Data Tools ou d’un rapport, consultez Rechercher la version du schéma de définition de rapport (SSRS).

Mise à niveau des rapports sur un serveur de rapports

La première fois qu’un rapport SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services s’exécute sur un serveur de rapports qui a été mis à niveau vers un serveur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS), le rapport est automatiquement mis à niveau vers l’espace de noms de définition de rapport actuel pris en charge par le serveur de rapports. Le rapport existait peut-être sur le serveur de rapports avant la mise à niveau, ou le rapport a peut-être été chargé via le portail web ou publié sur le serveur de rapports à partir du Concepteur de rapports dans SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) SQL Server Data Tools.

Le tableau suivant répertorie l'action de mise à niveau effectuée par le serveur de rapports pour les types spécifiques d'éléments de rapport personnalisés d'un rapport.

Type CRI Action de mise à niveau du serveur de rapports
Éléments de rapport personnalisés tiers Mise à niveau non effectuée.

Traité par le processeur de rapports SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services.

Ouverture d'un rapport avec éléments de rapport personnalisés dans le Concepteur de rapports

Quand vous ouvrez un rapport SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x) ou SQL Server 2014 (12.x) Reporting Services avec des CRI dans le Concepteur de rapports de SQL Server Data Tools (SSDT), le rapport est mis à niveau vers le nouveau schéma de définition de rapport. Selon les éléments de rapport personnalisés contenus dans le rapport, l'une des actions suivantes a lieu :

  • Éléments de rapport personnalisés tiers détectés. Si la version du CRI installé sur l'ordinateur de création de rapports n'est pas compatible avec le nouveau schéma RDL, l'aire de conception affiche une zone de texte avec une croix de couleur rouge. Vous devez contacter votre administrateur système pour installer les nouvelles versions des éléments de rapport personnalisés des fournisseurs tiers compatibles avec le nouveau schéma RDL.

L'enregistrement d'un rapport après qu'il a été mis à niveau dans l'environnement de création de rapports est la seule méthode pour mettre à niveau un rapport existant vers le nouveau schéma de définition de rapport.

Boîte de dialogue de conversion des éléments de rapport personnalisés

Ce rapport contient des éléments de rapport personnalisés (CRI, Custom Report Item) avec des fonctionnalités non prises en charge. Les éléments de rapport personnalisés sont des extensions du langage RDL (Report Definition Language) qui prennent en charge les objets personnalisés qui affichent les données dans un rapport. Les CRI incluent des composants du moment du design et du moment de l'exécution fournis par des éditeurs de logiciels tiers.

Notes

Le choix de prendre en charge des éléments de rapport personnalisés sur un serveur de rapports est une décision qui revient à l'administrateur système. Pour permettre l'affichage des éléments de rapport personnalisés (CRI) dans un rapport, les composants CRI doivent être installés sur le client de création de rapports pour l'aperçu d'un rapport et sur le serveur de rapports pour l'affichage d'un rapport publié et téléchargé. Pour plus d’informations, consultez Éléments de rapport personnalisés et la documentation de l’éditeur de logiciels tiers.

Certains CRI peuvent être convertis en éléments de rapport dans le nouveau format de définition de rapport. Utilisez la liste suivante pour décider s'il est nécessaire de convertir les CRI dans ce rapport :

  • Oui Choisissez Oui pour convertir tous les CRI du rapport, dans la mesure du possible. Les fonctionnalités non prises en charge dans les CRI ne peuvent pas être mises à niveau et peuvent être supprimées du fichier de définition du rapport. Lorsque vous consultez le rapport, vous pouvez voir des différences dans la manière dont les CRI apparaissent dans le rapport.

  • Non Choisissez Non si vous ne souhaitez pas convertir les CRI dans le rapport. Ces CRI ne peuvent pas être affichés par le processeur de rapports dans leur version actuelle. Si votre administrateur système projette d’installer une nouvelle version du CRI de l’éditeur de logiciels tiers compatible avec le nouveau format de définition de rapport, vous devez choisir Non. Tant que de nouvelles versions ne sont pas disponibles, les CRI apparaissent dans le rapport sous la forme d'une zone de texte vide marquée d'une croix (X) rouge.

Dans les deux cas, le rapport est mis à niveau vers le nouveau format de définition de rapport et une copie de sauvegarde du rapport d’origine est enregistrée au format <nom rapport>- Backup.rdl. Si vous enregistrez le rapport dans votre outil de création de rapports, vous enregistrez le rapport mis à niveau dans le nouveau format de définition de rapport. Si vous publiez le rapport, celui-ci est d'abord enregistré sur votre ordinateur, puis publié sur le serveur de rapports. Vous publiez la version mise à niveau du rapport sur le serveur de rapports.

Si vous n'enregistrez pas le rapport, le rapport d'origine reste inchangé. Toutefois, vous ne pouvez pas modifier ce rapport dans la version SQL Server 2016 de SQL Server Data Tools ou dans un environnement de création de rapports qui utilise un format de définition de rapport plus récent. Vous pouvez continuer à exécuter la version d’origine du rapport en le téléchargeant sur un serveur de rapports SQL Server 2016 (13.x) Reporting Services ou version ultérieure (SSRS) à l’aide du portail web. Pour plus d’informations, consultez Portail web.

Pour les rapports que vous téléchargez au lieu de les publier sur un serveur de rapports, le processeur de rapports détermine si le rapport peut être mis à niveau à la première utilisation. Les rapports qui ne peuvent pas être mis à niveau sont traités en mode de compatibilité descendante et continuent à s'afficher comme dans la version antérieure de Reporting Services.

Étapes suivantes

Mettre à niveau et migrer Reporting Services
Modifications importantes de SQL Server Reporting Services dans SQL Server 2016
Changements de comportement apportés à SQL Server Reporting Services dans SQL Server 2016
Fonctionnalités supprimées de SQL Server Reporting Services dans SQL Server 2016
Éléments de rapports personnalisés
Mettre à niveau une base de données du serveur de rapports

D’autres questions ? Essayez de poser une question dans le forum Reporting Services