Manuellement accorder l’accès aux bases de données de SharePoint au compte de service de SSRS

Lors de la configuration de Reporting Services 2008 R1 ou R2 en mode intégré à SharePoint, une des étapes cruciale est d’accorder l’accès à la base de données dans la section Gestion des applications –> Reporting Services de l’Administration Centrale:

image

Car même si vous avez installé SSRS et que vous avez créé ses bases de données (ReportServer et ReportServerTempDB) en mode intégré, le compte de service utilisé par le service de SSRS n’a pas encore accès aux bases de données de SharePoint. En effet, en mode intégré les rapports sont stockés dans la base de données de contenu de l’application Web hébergeant le site contenant les rapports.

Avant l’étape “Accorder l’accès à la base de données” (ou “Grant Database Access” en anglais), si vous accédez au ReportServer directement, vous obtiendrez cette erreur:

The report server has encountered a configuration error. If the report server is configured to use SharePoint integrated mode, verify that the server is joined to a SharePoint farm and that the Report Server service account has been granted access to the SharePoint farm. (rsServerConfigurationError)

Pour accéder au ReportServer directement, vous devez avoir configuré un Web Service URL dans Reporting Services Configuration Manager:

image

Voici l’erreur:

image

Pas de panique, c’est normal. Après avoir installé Microsoft SQL Server 2008 SP2 Reporting Services Add-in for Microsoft SharePoint Technologies (si vous utilisez WSS 3.0 ou MOSS 2007), vous aurez alors la section Gestion des applications –> Reporting Services dans l’Administration Centrale de SharePoint.

image

image

image

Le compte à saisir doit être administrateur du poste SSRS et être en mesure d’accorder des droits aux bases de données de SharePoint sur le serveur de données. Si vous utilisez le fureteur localement sur le serveur SharePoint, assurez-vous de démarrez l’Adminstration Centrale à partir du racourci des Controls Panels afin que le fureteur s’exécute en tant qu’Administrateur.

Malgré toutes ces précautions, plusieurs personnes sur Internet mentionnent recevoir des erreurs (WMI, connexion ou autres). Pire encore, dans certains cas (et je l’ai véçu), la fenêtre ferme sans erreur mais le travail n’est pas complètement effectué.

Dans mon cas, l’opération semblait s’être déroulée avec succès mais lorsque j’ai voulu passer à la seconde étape, c’est à dire “Gérer les paramètres d’intégration” j’ai obtenu l’erreur suivante:

System.Web.Service.Protocols.SoapException: Le serveur de rapports a rencontré une erreur de configuration. Si le serveur de rapports est configuré pour utiliser le mode intégré SharePoint, vérifiez que le serveur est joint à une batterie de serveurs SharePoint et que le compte de service Report Server est autorisé à accéder à la batterie de serveurs SharePoint. –> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: Le serveur de rapports a rencontré une erreur de configuration. Si le serveur de rapports est configuré pour utiliser le mode intégré SharePoint, vérifiez que le serveur est joint à une batterie de serveurs SharePoint et que le compte de service Report Server est autorisé à accéder à la batterie de serveurs SharePoint. at Microsoft.ReportingServices.WebServer.RsSoapBase.Init(String itemPath, Boolean checkAccesstoSharePoint) at Microsoft.ReportingServices.WebServer.ReportingService2006.Initialize(String itemPath) at Microsoft.ReportingServices.WebServer.ReportingService2006.ListSecureMethods()

image

image

Cette erreur est dû au fait que l’étape précédente n’a pas complétée correctement. Voici donc les étapes manuelles à accomplir pour reproduire le travail qui aurait dû être fait:

  1. Ajoutez le compte de service SSRS au groupe Windows WSS_WPG sur le serveur hébergeant Reporting Services.image
  2. Connectez au serveur de base de données (avec Management Studio) hébergeant les bases de données de contenu et de configuration de SharePoint
  3. Créez un login pour le compte de service SSRS
  4. Ajoutez le rôle db_owner pour ce compte pour toutes les bases de données de contenu
  5. Ajoutez le rôle WSS_Content_Appplication_Pools pour la base de données de configuration
  6. Ajoutez les rôles db_owner et WSS_Content_Application_Pools pour la base de données hébergeant le site d’administration de SharePoint

S’il manquait un de ces éléments dans votre configuration (dans mon cas il manquait le point #1), vous devez redémarrer le service SSRS.

Par la suite, j’ai pu compléter l’étape “Gérer les paramètres d’intégration” avec succès. J’ai déployé des rapports de test et ils fonctionnaient à merveille.

Bonne chance dans vos déploiements!

Références

  1. Troubleshooting Server and Database Connection Problems
    http://msdn.microsoft.com/en-us/library/ms156468.aspx
  2. Reporting Services 2008 & SharePoint Integration Woes
    http://thomasvochten.com/archive/2009/02/reporting-services-2008-sharepoint-integration-woes/

Une réflexion sur “Manuellement accorder l’accès aux bases de données de SharePoint au compte de service de SSRS

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s