Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 ou Microsoft SQL Server 2012 sous la forme d’un fichier téléchargeable. Étant donné que les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente de SQL Server 2008 R2 ou de SQL Server 2012.
Symptômes
Prenons le scénario suivant :
- Vous disposez d’un rapport Microsoft SQL SQL Server 2008 R2 Reporting Services (SSRS 2008 R2) ou Microsoft SQL Server 2012 Reporting Services (SSRS 2012).
- Vous utilisez la méthode ReportExecutionService.Render pour afficher le rapport au format image ou au format EMF (Enhanced Metafile).
- Vous créez une extension de remise pour l’état.
Dans ce scénario, toutes les pages du rapport, à l’exception de la première, s’affichent incorrectement.
Remarque Ce problème ne se produit pas dans Microsoft SQL Server 2005 Reporting Services (SSRS 2005) ni dans Microsoft SQL Server 2008 Reporting Services (SSRS 2008).
Cause
Ce problème se produit parce qu’une fonction a été modifiée dans la méthode ReportExecutionService.Render dans SSRS 2008 R2. La méthode renvoie uniquement un tableau vide dans StreamIds. Par conséquent, il ne peut pas être utilisé pour afficher les pages du rapport, à l’exception de la première page.
Résolution
Informations sur les mises à jour cumulatives
SQL Server 2008 R2 Service Pack 2
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 1 pour SQL Server 2008 R2 Service Pack 2. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2720425 Package de mise à jour cumulative 1 pour SQL Server 2008 R2 Service Pack 2Note Comme les builds sont cumulatives, chaque nouvelle publication de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2730301 Les builds SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 2
SQL Server 2008 R2 Service Pack 1
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 6 pour SQL Server 2008 R2 Service Pack 1. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2679367 Package de mise à jour cumulative 6 pour SQL Server 2008 R2 Service Pack 1Remarque : les builds étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2567616 Builds de SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 1
SQL Server 2012
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 1 pour SQL Server 2012. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2679368 Package de mise à jour cumulative 1 pour SQL Server 2012Remarque Comme les builds sont cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012. Microsoft vous recommande d’envisager d’appliquer la publication de correctif la plus récente qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2692828 Les builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Vous devez appliquer un correctif SQL Server 2012 à une installation de SQL Server 2012.
Package de mise à jour cumulative 12 pour SQL Server 2008 R2
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 12. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2659692 Package de mise à jour cumulative 12 pour SQL Server 2008 R2Note Étant donné que les builds sont cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
981356 Builds SQL Server 2008 R2 publiées après SQL Server 2008 R2
Solution de contournement
Pour contourner ce problème, restituez chaque page en spécifiant une valeur StartPage dans la chaîne DeviceInfo.
Remarque : cette solution de contournement peut diminuer les performances.
Informations supplémentaires
Pour plus d’informations sur la méthode ReportExecutionService.Render, reportez-vous au site web MSDN à l’adresse suivante :
Informations générales sur la méthode ReportExecutionService.Render
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».