jeudi 30 janvier 2014

[SSIS] Connexions dynamiques (SQL et Analysis Services)

Un article technique, vu que ça fait un petit bout de temps que j'en ai pas écrit.

Le contexte :on a tous déjà utilisé SSIS pour faire des tâches d'administration de nos bases de données (SQL et/ou SSAS). Pour cela on configure nos connexions de manière dynamique. Et autant, ça marche plutôt bien dans le cas d'une base SQL, autant SSIS ne réagit pas de la même manière pour du SSAS.

Note : Ce qui est intéressant ici est le multi serveur. Si toutes vos bases sont sur le même serveur, il n'y a aucun problème.

Bases SQL :

Ici on va créer un package qui fait un back-up de bases de données dont le nom et la chaîne de connexion ont été renseignés dans une table (et accessoirement le répertoire de backup parce que normalement ils sont propres au serveur).



Le package sera constitué d'un SQL Task qui lit le contenu de cette table pour le mettre dans une variable de type objet, et d'un foreach qui bouclera sur ces différents noms et chaînes de connexions que l'on stocke dans des variables textes.


On utilise une expression pour définir le ConnectionString de notre connexion qui se base sur la 2ème variable.


On crée également une variable contenant la requête SQL à exécuter pour faire le back-up de nos bases.
"BACKUP DATABASE ["+ @[User::DatabaseName] +"] TO  DISK = N'"+ @[User::BackupDirectory] +"\\"+ @[User::DatabaseName] +".bak' WITH NOFORMAT, NOINIT,  NAME = N'"+ @[User::DatabaseName] +"-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10GO"



On exécute, on vérifie dans nos répertoires de back-up SQL, tout s'est bien passé.



Ça veut donc bien dire que SSIS réussit à rafraîchir la connexion pendant l'exécution du package, lorsqu'il s'agit d'un type Ole DB.


Bases Analysis Services :

C'est ici que ça se complique, ou plutôt que SSIS n'est pas aussi permissif avec les connexions aux bases SSAS.

On va créer un package qui processe des cubes dont le nom et la chaîne de connexion sont renseignés dans une table.


De la même manière que pour les bases SQL, on utilise un SQL Task pour lire la table que l'on ramène dans une variable objet. Et ensuite un foreach où on boucle sur les différentes valeurs que l'on stocke dans 2 variables textes (DatabaseName et ConnectionString)
On utilise enfin une expression sur la ConnectionString de la connexion SSAS en assignant la valeur de la 2ème variable (même principe que pour les bases SQL aussi)



Et ici commence les problèmes :

En exécutant le package, on obtient une erreur :


En fait, la connexion n'est tout simplement pas évaluée : Il n'y avait pas de valeur initiale dans ma variable SSASConnectionString, la chaîne est donc incorrect.

Si vous initialisez la variable avec une chaîne de connexion valide, le package va rester sur cette valeur, et donc planter sur le process devant s'exécuter sur un autre serveur.

SSIS est incapable de rafraichir dynamiquement une connexion SSAS.

J'insiste sur la note donnée en début d'article : s'il y a plusieurs bases sur un même serveur et que ce serveur sert à l'initialisation de la variable, vous n'aurez pas de soucis. C'est bien le fait de devoir changer de serveur à la volée qui pose problème.

Et une petite astuce en conclusion pour contourner le problème :

Faites des tâches de script en AMO, vous pourrez alors reconstruire la connexion dans votre script à partir de votre variable.


jeudi 2 janvier 2014

Bonne Année 2014

Vu que l'heure est aux rétrospectives (Charles-Henri et Florian notammentt), je m'y colle également.

Tout d'abord, je vous souhaite une excellente année 2014 avec plein de réussites dans vos projets personnels et professionnels.


2013, quel bilan ?

L'année 2013 a été pour moi une année riche au niveau privé pour ceux qui me connaissent personnellement avec entre autres choses, l'agrandissement de la famille ;)
Mais elle a aussi été une continuation dans mon investissement au sein de la communauté à travers le GUSS (Organisation du SQL Saturday et des Journées SQL Server 2013, et speaker lors de ces événements pour la plus grosse partie, mais également l'organisation et la participation aux afterworks).


2014, quels objectifs ?

Pour 2014, je me fixe comme objectif de sortir des outils classiques SQL Server (SSIS/SSAS/SSRS pour ne pas les citer), et de m'aventurer du côté des outils BI Self-service (tous les power quelque chose) que j'ai un peu délaissé dans un premier temps (faute de conviction, ou par non-utilisation sur mes missions actuelles). Je ne ferais que suivre notre gourou Matt Mason qui passe Product Manager côté Power Query. Il est temps de voir ce que ces nouveaux outils ont dans le ventre :)

L'autre domaine que j'aimerais approfondir est tout ce qui concerne Big Data (Il y a deux ans, je jugeais le sujet encore embryonnaire et axé marketing : Big Data, qu'est-ce que c'est ? Mais les problématiques deviennent plus claires et les outils plus matures) et particulièrement, pour rester dans le monde Microsoft, de m'amuser avec HDInsight. Je pense qu'il y a matière à se faire plaisir et, en plus, de se rapprocher d'une science qui m'intéresse toujours, les mathématiques.

Bien sûr, je continuerais mon implication dans la communauté : organiser, participer aux événements est quelque chose de très enrichissant, tant d'un point de vue humain que professionnel. Et je vais essayer d'alimenter plus régulièrement mon blog aussi :p


lundi 30 décembre 2013

Journées SQL Server 2013 : Webcast SSIS Design Patterns

Un petit message pour vous dire que les webcasts des Journées SQL Server 2013 sont désormais disponibles.

Si vous voulez revoir, notre session avec Thomas :



Si vous voulez revoir toutes les autres sessions, c'est là que ça se passe :



samedi 7 décembre 2013

Journées SQL Server 2013 : Epilogue


Voilà, les Journées SQL Server 2013 sont finies, je ne sais pas pour vous, mais pour nous l'événement a été dans sa globalité une réussite (même s'il y a toujours des points à améliorer). Encore un grand merci à nos sponsors, nos speakers et bien évidemment à tous les participants.

Au niveau des chiffres d'ailleurs, nous étions officiellement 365 professionnels de l'informatique (beau clin d’œil à la BI chez Microsoft et +20% par rapport à l'année dernière),

A titre perso, pas mal de boulot dans l'organisation sur cette édition, mais toujours avec un staff réactif (bien joué les copains) et dans une ambiance bon enfant.

Sur le contenu de l'événement, je crois qu'il y en avait pour vraiment tous les goûts cette année (à vrai dire, on a même eu des personnes nous demandant des conseils pour choisir les sessions où aller), et on a pu compter sur une cinquantaine de speakers, ce qui, si on réfléchit est juste énorme sur une seule technologie. Et ça montre également la bonne santé de la communauté.

Au sujet de notre session sur les design patterns sur SSIS, avec Thomas, on a essayé de la faire accessible. On espère qu'elle vous aura plu et que vous aurez appris quelques petits trucs. Je vous mets en lien les slides et les packages de mes démos (Thomas fera de même pour ses demo j'imagine) :

- Slides
- Packages

En conclusion, un sentiment de travail bien fait, et une forte envie de faire encore mieux l'année prochaine.

lundi 4 novembre 2013

Journées SQL Server 2013 : Dernière ligne droite



C'est maintenant dans moins d'un mois : les 2 & 3 Décembre auront lieu les journées SQL Server 2013 au centre des conférences de Microsoft.


Les JSS qu'est-ce que c'est ? (Pour ceux qui auraient raté les précédentes éditions :p)

C'est tout simplement le plus gros événement dédié à SQL Server en France : Pendant deux jours, une cinquantaine d'experts issus de la communauté viendra présenter les nouveautés, les techniques et bonnes pratiques, ou encore une vision avancée de nos outils, tout ça à travers des sessions d’une heure.

... Et en plus c'est gratuit, donc on n'hésite pas à s'inscrire.


Le planning (quasi-définitif) est maintenant connu : il y en a pour tous les goûts, moteur SQL, BI, Cloud, infra,..., le tout animé par du beau monde.




A titre perso, j'aurai le plaisir d'animer une session SSIS avec Thomas Ricquebourg. Un retour aux fondamentaux où on essaiera de vous apprendre 2-3 trucs (en toute modestie bien sûr, et dans une ambiance détendue).

En conclusion, on met une croix sur son calendrier pour ces 2 jours.

mardi 17 septembre 2013

[GUSS] SQL Saturday Paris

Un petit message pour conclure le SQL Saturday qui avait lieu à Paris ce samedi.



En premier lieu, il me semble que l'on peut être satisfait d'avoir réussi à attirer une centaine de personnes un samedi pour une journée de conférences, sachant qu'avaient lieu en même temps les journées du patrimoine, la fête de l'huma ou la technoparade. 
C'est une preuve du développement de la communauté SQL Server autour des évènements.

Donc merci à tous d'être venus, ça nous encourage à continuer.


Sur la journée, j'ai eu l'occasion de suivre la session de nos amis Patrice, Charles-Henri et Romuald sur Analysis Services, toujours aussi à l'aise sur le sujet.




J'ai ensuite accompagné mon camarade Florian pour animer 2 sessions : Les métiers de la BI, puis Saisie de données en BI. J'espère que ces sessions vous ont plu (les slides sont disponibles sur le blog de Florian linké au-dessus), en tout cas, pour nous, c'est toujours un plaisir.

"Alors là tu vois, tu fais un Foreach"

Promis à la prochaine session, je vous montre comment charger un fichier texte dans SSIS, et comment fonctionne une boucle For (mais je demanderai un level 400 pour ça :p) 


Bref, un vrai bon moment (pour vous aussi j'espère) et en route pour les JSS...


lundi 22 juillet 2013

[GUSS] SQLSaturday Le 14 Septembre 2013 à Paris

Si vous suivez l'actualité du GUSS et de la blogosphère, vous avez déjà entendu du SQLSaturday qui aura lieu le 14 Septembre 2013 sur le campus EPITA/EPITECH.

le SQLSaturday est un format connu introduit par le PASS : c'est une journée de conférences sur SQL Serveur qui se déroule un samedi.




C'est un samedi, vous n'aurez donc pas à négocier une journée avec votre manager/client pour pouvoir venir. Ça vous évitera également d'aller faire les courses/passer une journée chez Ikea/aller déjeuner chez votre belle-mère. Donc plus d'excuse pour ne pas venir

C'est l'occasion aussi d'assister à des conférences animés par des speakers internationaux qu'on ne voit pas souvent en France :

Jen Stirrup
Hugo Kornelis
Allan Mitchell

Et bien sûr des speakers français reconnus :

David Barbarin
Christophe Laporte
Jean-Pierre Riehl
Charles-Henri Sauget
Patrice Harel
Romuald Coutaud
Philippe Geiger
Patrick Guimonet


J'aurais le plaisir enfin d'animer une conférence avec mon camarade Florian Eiden, fraîchement intronisé MVP, sur la saisie de données dans la Business Intelligence.

Le programme de la journée :




Le lien pour avoir toutes les infos et se tenir au courant :



On compte sur votre présence, cela permettra de renouveler ce type d’événements.