Restauration des Roles d'un cube à l'autre

Pour gérer la sécurité d’accès aux données d’une base OLAP sous SSAS, il est recommandé de créer des rôles ayant des privilèges différents et des droits d’accès bien précis sur les données d’une dimension ou cube.

Mais imaginant un cas, on a déployé la base OLAP sur le serveur avec une structure bien déterminé, par la suite on a créé les rôles sur les cubes. Et la base est sur la production, les utilisateurs y accèdent…

Dans une nouvelle version du projet BI, on a décidé de restructurer les cubes, rajouter de nouveaux liens, de nouvelles mesures… à ce moment-là le traitement du cube à partir du management studio ne suffit pas, car il ne va pas prendre en considération la nouvelle structuration, il exploite toujours les anciennes requêtes déployées.

Pour cela, il faut redéployer la Base SSAS de nouveau à partir de visuel studio mais le problème c’est qu’on va perdre les rôles qui ont été créés, ce qui va nécessiter de recréer de nouveau, mais imaginant qu’on a plus de 100 rôles, comment faire ?
La solution est :

     1.     Générer le script XMLA de la base OLAP avant de la redéployer, pour l’avoir connectez-vous via Management studio à bouton droit sur la base OLAP à Générer le script as Create



     2.     Sauvegardez-le quelque part
     3.     Par la suite supprimez cette base et redéployez là à partir de visuel
     4.     Une fois déployée, générer son script XMLA de la même façon que 1
     5.     Après il faut parcourir le premier script XMLA de l’ancienne Base OLAP et récupérer les balises comprenant le terme <Permission> et les insérer dans le script XMLA de la nouvelle base au même endroit que XMLA 1. Il faut travailler prudemment car une petite erreur peut falsifier le travail.
     6.     Une fois terminer, n’oubliez pas d’insérer le bloc <Role> et </DatabasePermissions> à la fin de la requête XMLA de la même façon que XMLA1.
     7.     Dès que tout est terminé, il faut supprimer la base que vous avez déployée et exécuter le script XMLA de nouveau, vous remarquez que le cube a été créé.
     8.     Par la suite il suffit juste de traiter les dimensions et les cubes à partir de management studio pour charger les données.

Rque : avant de supprimer il faut toujours faire un backup, si jamais il y aura des erreurs vous pouvez restaurer le backup et vous aurez votre base OLAP.





Comments

Popular posts from this blog