SQL PASS summit 2011 – Keynote 1

12 octobre 2011

imagePremier jour de Summit et le Keynote présenté par Ted Kummert. Des annonces, des démos, des orientations…voici mes notes

 

SQL Server 2012

Sans grande surprise, le nom final de Denali est SQL Server 2012.  Vous l’aurez donc compris, il ne sortira pas cette année Clignement d'œil

Ce qui est drôle c’est que le numéro de version est 11 (rien à voir avec cette année).

 

Le monde du Big Data

Microsoft appuie sa vision du Data Management : + de données, des données pas forcément structurées, une usage (pour ne pas dire une analyse) plus poussée.

C’est la vision de Microsoft mais je crois vraiment que c’est une tendance profonde du marché car je la constate chaque jour sur le terrain et l’industrie dans son ensemble prend cette direction.

Alors pourquoi Big Data ? La combinaison des usages (ie. des demandes), des contraintes et la volumétrie galopante nous fait voir tout en plus gros.

Et je ne parle pas que de VLDB (Very Large DataBase) qui existent depuis longtemps. Même si on parle maintenant de Tera et de Peta, c’est bien l’exploitation de la donnée qui est au coeur de la vision.

Et cette vision implique évidemment la BI qui joue un rôle important puisque s’en est la face visible.

 

Hadoop support

Dans le monde des Big Data, vous avez certainement entendu parler de Hadoop ou MapReduce. Ces termes sont souvent associés aux problématiques de gros volumes (Google, Facebook, etc.).

Hadoop est une initiative open-source (fondation Apache) pour l’informatique distribuée (et donc pour le traitement réparti de gros volumes). Plus d’infos : http://hadoop.apache.org/ (oui le site est moche mais il est libre Tire la langue)

Microsoft rejoint le projet et propose dans SQL Server 2012 le support Hadoop. Cela se concrétise par

  • une source de données HiveQL dans PowerPivot
  • un Driver ODBC pour Hadoop

Une démo, très rapide, en ligne de commande, a été faite sur un gros volume de données pour extraire des stats. Mais à part une découverte du langage HiveQL, je n’ai pas tout intégré… Wait and see.

 

L’importance des données

Ted Kummert évoque une orientation amorcée il y a quelques années (je me souviens de la PDC 2008) concernant les données “publiques”.

Le volume de données disponibles est de plus en plus important et pourtant on en veut toujours plus : ajout de la météo, de données démographiques, géographiques, etc.

Les départements commerciaux et marketing sont souvent très intéressés par ces données et cela donne un réel “insight” aux données métiers.
J’ai déjà travaillé sur des initiatives de mix entre des données d’entreprise et des données exogènes (pour une startup française notamment) et il y a un vrai marché derrière.

La problématique est souvent de trouver des données “publiques”. Microsoft avait déjà présenté le Data Marketplace sur Azure et lors de ce Keynote, un petit rappel a été fait en présentant tout un tas de partenariats pour travailler avec des World’s Data.

 

Data Explorer

Une bonne continuité de l’initiative O-Data a été présentée. Ce projet s’appelle Data Explorer (et je n’ai pas le droit de vous donner son nom de code).

Pour aller à l’essentiel, ce projet est un premier pas dans les ETL for masses. Tel que présenté, il permet de

  • récupérer des données depuis de nombreuses sources (CSV, Excel, SQL Azure, OData, HTML, etc.)
  • d’appliquer des transformation (merge, lookup, agrégation, calcul)
  • et de publier ces données par la suite.

Ca ressemble à SSIS mais ce n’est pas SSIS. C’est Data Explorer et c’est sur le Cloud.

Les points forts sont

  • un outil pour les end-users ; on a une expérience similaire à Report Builder versus Reporting Services
  • l’outil fait des suggestions de données exogènes provenant des catalogues de données (ESRI, Bing, etc.)
  • la publication du flux de données résultant sur tout un tas de format (ODATA, CSV, etc. et même un classeur PowerPivot tout prêt)
  • l’intégration dans Excel

L’exemple présenté part d’une base Azure (des ventes de Contoso), ajoute un référentiel Excel des magasins puis ajoute des données externes (les villes venant de la base ESRI et le nombre de collèges à proximité venant de Bing).

Faire le mashup (c’est le terme pour identifier le Data Flow) n’a pas pris plus de 5 minutes et les données sont disponibles instantanément pour une exploitation par des utilisateurs business.

Moi qui ne suis pas trop Cloud, je suis plutôt satisfait de cet usage que je peux proposer directement à des utilisateurs.

Evidemment, cela soulève de nombreuses questions mais ça fait débat donc j’en parlerai plus tard.
Je ferai un post plus complet car j’ai quelques rendez-vous prévu avec des Microsoftees sur le sujet.

 

Ne m’appelez plus Crescent…

…appelez moi Power View ; c’est le nom commercial du produit pour 2012.

Je ne vais pas faire de commentaire désobligeant sur le choix de ce nom mais il ressemble étrangement à un produit concurrent qui a pas mal bousculé le marché ces dernières années et qui a fait avancer Microsoft encore plus vite (pour notre plus grand bonheur).

J’ai pu assister à une démo hilarante de Amir Netz (BI Technical Fellow) accompagné de Ted Kummert.

J’ai aimé :

  • les échelles intelligentes
  • le ZoomIn
  • le changement de “slide” dans un rapport en un clic (je n’ai toujours pas vu où on cliquait)
  • la visualisation sur Windows Phone, Androïd, iPhone et iPad (et donc en HTML 5 ??!?)
  • l’ergonomie tactile (touch drill-through !)
  • l’export PowerPoint

Laissez moi revenir sur ce dernier point. il y a quelques semaines, on a appris que cette fonctionnalité risquait de ne pas être prête pour la sortie de SQL Server 2012.
Un nombre important de mes clients rêvent de cette fonctionnalité et j’imagine qu’il en est de même partout dans le monde.

Au final, Amir a confirmé la disponibilité de cette feature à la sortie. J’imagine l’excitation dans les équipes de développement (un la pression aussi).

 

J’aurais l’occasion de développer tous ces points et bien d’autres cette semaine et après.

You cannot open the BIM file

12 octobre 2011

Vous avez la CTP3 de Denali (dispo ici) et vous voulez tester votre premier projet de Analysis ServicesTabulaire”.

Vous créez votre projet dans BIDS et en ouvrant le modèle (fichier .bim), vous êtes confronté à ce message d’erreur :

You cannot open the BIM file. Reason : the workspace database server ‘localhost’ is not running in VertiPaq mode

image

 

La raison est que pour travailler en mode tabulaire, il vous faut une instance SSAS installée en mode Vertipaq à disposition, même en développement. Par défaut, Visual Studio la recherche sur l’instance par défaut du poste local(localhost).

Il vous faut donc modifier :

  • les propriétés du fichier BIM (pour définir où doit se trouver le workspace)
  • les propriétés du projet (pour le serveur où déployer)
  • dans les options de BIDS (rubrique Analysis Services) pour mettre un serveur par défaut pour vos prochains modèles

propriété workspace BISM tabulairepropriété serveur déploiement BISM tabulaire

That’s all folks !

SQL PASS Summit 2011

8 octobre 2011

Lundi, je prends l’avion pour Seattle pour participer à la plus grande conférence mondiale sur SQL Server : le PASS Summit.

Elle est organisée par le PASS (Professional Association for SQL Server) et réunit des experts des 4 coins du monde ainsi que les équipes de Microsoft.

image

http://www.sqlpass.org/summit/2011/

Parmi les 170 sessions, je n’ai pas encore réussi à faire mon choix tellement les sujets sont pointus, originaux, intéressants. Je pense qu’évidemment j’irai plutôt vers des sujets BI mails il n’est pas impossible que j’aille voir 1 ou 2 sessions sur le moteur.

Je suis invité en tant que MVP (évidemment, j’ai quand même payé mon billet d’avion et mon hébergement) et à ce titre, je participerai :

  • aux stands ATE (appelés Expert Pods) in-english please. Fell free to ask me any question on SQL Server.
  • à un repas (appelé Bird of a Feather) où le sujet sera SSIS (mais en français cette fois)

Il y a également prévu de nombreux rendez-vous et quelques rencontres dont je ne peux pas encore parler à cette heure malheureusement.

Vous pourrez suivre ici cette aventure avec un compte-rendu régulier tout au long de la semaine.

 

Nous serons quelques francophones à cet événement et je peux citer mes confrères et amis MVP Christophe Laporte et Christian Robert.

Envoyer des mails depuis SSRS en mode NTLM

6 octobre 2011

imageDans mes sujets en brouillon, il y avait la configuration de l’envoi de mail depuis SSRS via un SMTP n’autorisant pas l’accès anonyme (ie. utilisant l’authentification NTLM ou Kerberos).

A chaque fois que j’ai eu à mettre en œuvre les abonnements Reporting Services, je demandais juste à l’admin :

Il me faut du relaying SMTP depuis tel serveur.

Dernièrement, j’ai eu à le faire en partie moi-même et, cerise sur le gâteau, le relaying anonyme (ie. identification implicite via la topologie réseau) n’était pas autorisé.

Pour la configuration SSRS, Fabrice Romelard a très bien expliqué la procédure la semaine dernière.

Le post est ici :

Fabrice Romelard : SQL Server Reporting Services – Activer l’envoi de message nécessitant l’authentification sur le serveur SMTP

Si vous n’avez que 2 mots-clés à retenir, ce sera :

  • rsreportserver.config
  • SMTPAuthenticate=2

Je vais quand même ajouter mon petit plus ;)

Si votre administrateur Exchange vous dit qu’il ne sait pas ajouter le relaying SMTP sur son Exchange (ou que vous souhaitez briller lors d’un diner geeko-mondain), voici la cmdlet Powershell à exécuter.

New-receiveConnector –Name RelayConnector –usage Custom –Bindings '<ip>:25' –fqdn <serveur>.domain.local –RemoteIPRanges '<ip-start>-<ip-end>;' –AuthMechanism 'None' 

La cmdlet ajoute une interface que vous pouvez configurer pour filtrer les IP, le mode d’authentification, etc.

MS Days au CNIT à Paris

3 octobre 2011

Je sais, je préviens un peu tard (oui complètement en retard) mais bon si vous avez un peu de temps demain, n’hésitez pas à allez aux MS Days à Paris.

image

Vous y découvrirez toutes les dernières technologies Microsoft et en ce qui me concerne, vous pourrez découvrir Denali si vous n’avez pas encore téléchargé la CTP3.

http://technet.microsoft.com/fr-fr/microsoft-days-agenda-paris

Si vous ratez la session Denali (à 10h00 en salle 5), passez me voir aux stand ATE. Avec les équipe SQL de Microsoft (Hugues, Damien & Damien), nous répondrons à toutes vos questions.

A demain !

Utilisation des onglets Excel dans un rapport SSRS

2 octobre 2011

Le tip du week-end, qui traine depuis quelques semaines déjà dans mes articles en brouillon.

Quand on génère de rapports sous le format Excel, on a souvent besoin de générer des classeurs, c’est à dire avoir des tableaux ou graphes sur différents onglets.

image

Pour arriver à ce résultat, il va falloir jouer avec 2 propriétés des éléments de votre rapport :

  • Page Break (ie. les sauts de page)
  • Page Name

A chaque “page” correspondra un onglet et la propriété PageName sera le nom de l’onglet.

image

Sur votre tableau / graphe / rectangle, mettez juste un saut de page à la fin (ou au début du suivant). Vous pouvez passer par la fenêtre de configuration.

La propriété PageName est à mettre sur l’élément de la page correspondante et évidemment, vous pouvez utiliser une expression pour rendre cela dynamique (avec le nom d’un groupe par exemple).
A noter qu’elle n’est accessible que par le panneau des propriétés, il n’y a pas d’assistant.

 

Note : n’hésitez pas à utiliser des Rectangle pour mieux maitriser votre mise en page.

Mon aventure parisienne, 1 mois après

1 octobre 2011

Paris

Que le temps passe vite.

C’est une bonne chose et une mauvaise à la fois (tiens, ce ne serait pas une réponse de consultant ça ? Clignement d'œil).

Voilà maintenant plus d’un mois que je suis arrivé à Paris et je n’ai pas vu le temps passer.

En même temps, j’ai l’impression d’avoir toujours été la. C’est certainement le fait que je travaille dans un environnement qui m’est très familier mais aussi le fait que j’habite à 30m de là où j’habitais il y à 9 ans.

azeo-mailMon arrivée chez AZEO s’est parfaitement déroulée. Il faut dire que je la préparais depuis des mois. L’équipe est sympathique, compétente et motivée. J’ai l’impression que tout le monde est au moins à 110%.

Je suis heureux et fier de rejoindre cette société et je me félicite de ma rencontre avec ses 2 fondateurs (2 anciens Microsoftees -MCS- avec un dynamisme sans faille).

D’ailleurs, pour rappel, je recrute ! Je suis à la recherche de  :

  • Consultants SQL Server
  • DBA
  • Chefs de projet décisionnel
  • Développeurs décisionnel

Développez vos talents, rentrez dans l’excellence technique, rejoignez nous : jean-pierre.riehl@azeo.com

…Retour à mon aventure parisienne…

Côté boulot, histoire de démarrer sur le marché parisien, j’ai pris un projet décisionnel pour une grande banque aux côtés de Microsoft Consulting Services. On va bientôt livrer le projet et je félicite Stéphane de mon équipe pour son entrée en matière motivée.

C’est un projet de Reporting avec forcément SSRS mais aussi SSIS, Excel, EWS, Report Builder, des abonnements pilotés par les données, du DTEXEC, etc. Il y a même une touche de PowerPivot for Sharepoint.

 

Cette activité, associée à ma prise de fonction chez Azeo, fait que je vis à 200 à l’heure.
En ajoutant l’organisation des Journées SQL Server et mon propre emménagement, autant dire que trouver du temps pour poster sur ce blog est plutôt un exploit. (heureusement qu’il y a les Smartphones et les transports en commun Sourire).

Je vous rassure, j’ai plein d’articles en tête que je dépilerai bientôt.

Ceux qui me connaissent savent que ce rythme me va bien et que si je pouvais, j’en ferai encore plus. C’est ça le mauvais cote du temps qui défile trop vite…

Quoique j’en dise, je suis super content comme cela, au top de ma forme et tout colle avec mon projet de vie parisienne.

Pourvu que ça dure !

 

– fin de cette parenthèse monologuée toute personnelle –

Les journées SQL Server, réservez les dates !

28 septembre 2011

imageIl y a quelques temps, je vous parlais d’un évènement important sur SQL Server que j’organisais avec mes confrères MVP et le GUSS.

Il est maintenant temps d’en dévoiler un peu plus.

image

L’événement s’appelle Les Journées SQL Server. Elles se tiendront les 12 et 13 décembre au Centre de conférences de Microsoft à Issy-les-Moulineaux (pour ne pas dire Paris).

Au programme :

  • 2 Keynotes
  • 20 sessions (level 250 à 500)
  • 1 parcours moteur SQL
  • 1 parcours Business Intelligence
  • 25 experts SQL Server
  • Des invités de marque
  • Toutes les nouveautés de Denali

Évidement cette édition de 2011 fera un focus tout particulier sur Denali, la prochaine version de SQL Server, actuellement téléchargeable en CTP3.

Bien entendu, nous sommes là pour nous réunir entre professionnels SQL Server (DBA, développeur, analystes, etc.) et nous traiterons également de vos préoccupations quotidiennes sur la version actuelle (performance, haute-disponibilité, modélisation, etc.)

Alors venez rejoindre la communauté francophone des acteurs SQL en participant à l’événement.

 

Le site pour s’inscrire n’est pas encore disponible mais sera ouvert très prochainement. Le nombre de place est limité donc n’hésitez pas à vous manifester (un mail – jean-pierre.riehl@azeo.com, un commentaire sur ce blog).

Cependant,

  • retenez le nom : Les Journées SQL Server
  • réservez les dates : 12 et 13 décembre 2011

…et parlez en autour de vous.

A bientôt.

BULK INSERT avec troncature automatique

28 août 2011

imageD’une façon générale, l’insertion BULK permet d’insérer en masse des gros volumes de données.

L’instruction BULK INSERT entre dans cette catégorie mais a une vocation toute particulière puisqu’elle insert des données depuis un fichier CSV (en mode BULK).

 

Sa syntaxe est simple :

BULK INSERT dbo.Destination
FROM 'C:\input.txt'
WITH (&lt;options&gt;)

Il existe la même fonctionnalité sous la forme d’une application en ligne de commande fournie avec SQL Server : bcp.exe

Passons au sujet principal de l’article : la gestion de la longueur des chaines de caractères.

Par défaut, SQL Server va tenter de mapper les champs du fichier CSV aux champs de la table en convertissant implicitement. Evidemment, l’instruction lèvera des erreurs en conséquence car même si ça marche bien, ne faites jamais confiance aux données à intégrer (l’une de mes devises).

Il est donc recommandé de fournir toutes les informations pour la bonne intégration des données et cela se fait en fournissant un fichier de format décrivant les champs (type, longueur, séparateur, etc.).

Si vous êtes un utilisateur averti de SQL Server, vous savez que la troncature de chaine est considérée comme une erreur. BULK INSERT n’y échappe pas et vous remontera des erreurs si votre CSV contient des données plus longues que ce qui a été déclaré.

Donc comment forcer une troncature automatique des données ?

Ne tournons pas autour du pot. La solution est de ne pas préciser de MAX_LENGTH dans le fichier de format et de désactiver les ANSI_WARNINGS lors de l’exécution.

SET ANSI_WARNINGS OFF

C’est surtout la désactivation des warnings qui permet la troncature mais je vous recommande de retirer l’option MAX_LENGTH car si les données sont plus longues, BULK INSERT considèrera que vous souhaitez que cela soit une anomalie et lèvera une erreur.

Mais j’ai encore une erreur…

Par défaut, MAX_LENGTH a une valeur de 8000 (pour un varchar, 4000 pour du nvarchar) et donc vous aurez tout de même une erreur si votre colonne est plus volumineuse.

Une solution est de préciser le type SQLTEXT (type varchar(max)) dans la description de la colonne destination.

<ROW><COLUMN xsi:type="SQLTEXT"/></ROW>

Et pas besoin de mettre votre colonne en type varchar(max) dans la table destination, la troncature se fera automatiquement à la bonne taille.
La déclaration dans le fichier format permet juste de zapper l’erreur.

On récapitule

Pour tronquer automatiquement les chaines de caractères importées d’un CSV avec l’instruction BULK INSERT, il faut :

  • désactiver les longueurs maximum (MAX_LENGTH) dans le fichier format)
  • désactiver les warnings ANSI (SET ANSI_WARNINGS OFF)
  • indiquer SQLTEXT comme type destination dans le fichier format pour les données supérieures à 8ko

Formatage et conversion en SQL

9 août 2011

imageTravailler avec dates, en paramètre ou en affichage, est toujours quelque peu compliqué. En effet, il faut toujours veiller à la culture utilisée pour ne pas se retrouver avec les jours en mois et les mois en jours.
On a le même problème avec les type numériques ou monétaires.

Tout cela dépend de la configuration du serveur, de l’instance et de la session…

Pour les paramètres, il est fortement recommandé d’utiliser systématiquement des paramètres typés et la fonction CONVERT.

Pour l’affichage, la fonction CONVERT est bien utile mais n’apporte pas la souplesse que l’on trouve par exemple dans le développement .NET.

2 fonctions arrivent avec Denali :

  • PARSE() : permet de convertir selon une culture donnée
  • FORMAT() : permet de formater un valeur selon un format défini

Cela permet un écriture se rapprochant de celle que l’on trouve dans des applications .NET (plus de cohérence pour les développeurs) mais permet aussi des conversions, certes communes mais compliquées en SQL :

  • les décimaux avec une virgule, auparavant il fallait faire un REPLACE pour mettre un point comme séparateur
  • les formats précis (ou exotiques) de date comme yyyy.MM.dd

Quelques exemples pour illustrer :

--pour la date du 9 août

Select FORMAT(getdate(), 'd', 'fr-FR')
--> donne 09/08/2011
Select FORMAT(getdate(), 'd', 'en-US')
--> donne 8/9/2011
Select FORMAT(getdate(), 'g', 'fr-FR')
--> donne 09/08/2011 23:40
Select FORMAT(getdate(), 'dd----MM')
--> donne 09----08

Select FORMAT(123.34, 'C0', 'fr-FR') as [Currency]
--> donne 123 €

Select PARSE('12,6' as decimal(9,4) USING 'fr-FR')
--> 12.6000

On notera aussi les fonctions TRY_PARSE() et TRY_CONVERT() qui renvoient NULL en cas d’échec de conversion.

Select TRY_CONVERT(decimal, 'not a numeric')
--> donne NULL

Pour d’autres exemples, je vous renvoie au blog d’Aaron Bertrand (en anglais) :

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/08/09/sql-server-v-next-denali-ctp3-t-sql-enhancements-format.aspx


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers