ASCMD : Parametrez vos scripts SSAS.
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 PT0SNotez 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.