ASCMD : Parametrez vos scripts SSAS.

- 2 mins read

Beaucoup d’entre vous doivent dors et déjà connaitre cette astuce qui facilite les problématiques de déploiement de vos cubes Olap (Sql Server Analysis Services); Pour ma part je n’ai découvert qu’aujourd’hui qu’il est possible de parametrer les scripts XMLA, MDX et DMX lors de leur execution via ASCMD.

Petit retour en arrière, ASCMD est un utilitaire en ligne de commande qui permet d’exécuter des scripts sur une instance d’Analysis Services locale ou distante. Le code source est fournit dans les samples de SQL Server sous forme d’un projet C# à compiler.

Dans le cadre d’une livraison chez un de vos client par exemple, ASCMD s’avère fort utile car il permet de scripter toutes les opérations possible que vous souhaiter effectuer; ceci vous affranchit de la lourde tache des backup/restore couramment usités dans la version 2000 d’Analysis Services.

Prenons un exemple concret; Le script suivant, permet de modifier le nom du serveur sur lequel est disponible la source de données relationnelle :


    
        Adventure Works DW
        Adventure Works DW
    
    
        
            Adventure Works DW
            Adventure Works DW
            Provider=SQLNCLI.1;Data Source=$(ServerName);Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=AdventureWorksDW
            
                ImpersonateServiceAccount
            
            PT0S
        
    

Notez la déclaration et l’utilisation de la variable $(ServerName). Celle-ci va pouvoir être définit lors de l’execution de la manière suivante :

ascmd.exe -S localhost -i modifyDS.xmla -v ServerName=My_production_server

Cette fonctionnalité ouvre de nouveaux horizons pour les déploiements, plus besoin de demander à vos interlocuteurs de faire ceci ou cela;

  • Scriptez vos actions sous forme de scripts XMLA parametrés.
  • Livrez un fichier ini, seul point que votre interlocuteur devra éditer afin de le faire correspondre à son environnement.
  • Demander à votre interlocuteur de lancer le seul fichier fichier bat fournit réunissant l’ensemble des commandes à executer.
  • Vous êtes zen, vous venez de considérablement diminuer les chances d’erreurs du à une mauvaise manipulation de votre interlocuteur.

Bon déploiements à tous.