Archive pour la catégorie ‘SQL Server’

Mes sessions aux TechDays

19 janvier 2012

Les liens sur le site TechDays ne sont pas encore tous dispo; je mettrai l’article à jour dès que ce sera en ligne.
Pensez à liker les sessions sur Facebook.

01_logo02_dates03_speaker04_palaisdescongres

Data Explorer : Self-Service ETP (Extract-Transform-Publish)
DAT205 – jeudi 9 février à 11h00

Mon dada (poney) du moment. Une session de présentation de ce nouveau produit actuellement en beta avec pas mal de démo pour construire un mashup ambitieux en live.

Le pitch officiel :

Open Data, Azure Data Market, Data-as-a-Service, etc. Des données, partout des données. Avec Data Explorer, tirez parti au maximum de ces données en créant des mashup de données publiques, en enrichissant vos données métiers, en publiant des data feeds…
Découvrez ce puissant outil cloud-based pour façonner en quelques clics des données et les rendre disponibles dans PowerPivot, Azure ou Report Builder.
Cette session sera agrémentée de démonstrations sur la version la plus aboutie de la solution !

Les experts SQL Server
DAT202 – mardi 7 février à 17h30

Pas moins de 14 experts SQL Server sur scène. Des personnes du support Microsoft, des consultants, des indépendants…

Venez nous coller sur des sujets techniques (ou pas), pas de limite dans les questions !

La sécurité avec SQL Server
jour et heure en cours de confirmation

Comme l’année dernière, je vais parler sécurité de la plate-forme SQL Server avec un point spécial sur les nouveautés 2012.

Le pitch :

Venez découvrir tous les enjeux de la sécurité avec SQL Server 2012. Nous aborderons les bonnes pratiques et la méthodologie pour sécuriser vos bases de données. Nous entrerons dans le détail de certains points techniques comme par exemple l’AUDIT ou le chiffrement.
Cette session sera aussi l’occasion de voir les nouveautés de la version 2012 en matière de sécurité.

SQL Server et les développeurs
RDA207 – mardi 7 février à 13h00

Pitch :

Une base de données, pourquoi faire ? Le SQL, c’est quoi ce langage ? Un DBA, ça sert à quoi ?
Cette session est là pour démystifier la base de données du point de vue des développeurs. Au programme : des bonnes pratiques, de la méthodologie, quelques tips techniques… De quoi rapprocher les développeurs et les DBA.

Reporting Services en 2012
DAT212 – mardi 7 février à 11h00

Pitch :

Reporting Services est encore en 2012 une plate-forme privilégiée pour le reporting de masse et le reporting ad-hoc.
Nous ferons un tour d’horizon des fonctionnalités majeures apparues dans les dernières versions mais aussi celles qui font leur apparition en 2012 comme Azure Reporting ou le End-User Alerting (alertes utilisateurs).

Egalement, les autres sessions d’AZEO :

Enfin, vous pourrez retrouver tout les experts AZEO au stand 76 dans le village BDD et Infrastructure

Je naviguerai entre le stand AZEO, le stand SQL où je serai Ask-The-Expert (ATE) pour répondre aux questions SQL Server et un peu au stand du GUSS (le groupe utilisateur SQL Server)

Merci aux track owners de la confiance qu’ils me portent pour assurer ces sessions.

La communauté SQL Server en avant aux Journées SQL Server

12 décembre 2011

Pour la keynote de la première journée, la communauté a été mise en avant avec :

  • les groupes utilisateurs
  • les MVP
  • les certifiés (MCM, MCITP, etc.)
  • les partenaires

imageimage

Plusieurs centaines de spécialistes SQL Server au même endroit, c’est ça la communauté !

Les Journées SQL Server : le programme

25 novembre 2011

Les Journées SQL Server, c’est dans 2 semaines. Les 26 speakers sont dans les starting-blocks pour vous assurer des sessions 100% SQL Server.

Voici le (long) programme de ces 2 jours de conférences à Paris.

(n’hésitez pas à construire votre agenda sur le site d’inscription, cela nous aidera à pour le choix la répartition des salles et pour votre confort)

Journées SQL Server - Programme 12 décembreJournées SQL Server - Programme 13 décembre

Programme Business Intelligence

La BI avec SQL Server 2012
Tour d’horizon de toutes les nouveautés BI de SQL Server 2012, de BISM à Power View (projet Crescent) en passant par SSIS et le nouveau moteur de qualité de données DQS.
Cette session introduit l’ensemble des choses que vous verrez pendant l’événement.

Décider entre Tabular ou Multidimensional pour un projet Analysis Services
Cette session se focalise sur les différences entre le nouveau modèle BISM et le modèle UDM classique. Qu’est ce qui change ? Dois-je refaire mes projets décisionnels ? Dois-je apprendre un nouvel outil ? Découvrez tout ce qu’il faut savoir sur la nouvelle version d’Analysis Services dans SQL Server 2012 au travers de cette session.

Power View, Powerpivot : voir ses données autrement
Power View (projet Crescent) est la nouvelle évolution dans la famille des outils de restitution de données Microsoft. Découvrez ce nouvel outil qui permet la création de tableaux de bord très riches et dynamiques.
Dans cette session, découvrez également sa collaboration avec PowerPivot. Ensemble, ces 2 outils donnent du pouvoir aux utilisateurs afin de maitriser leurs besoins décisionnels.

ColumnStore Index : une nouvelle façon d’indexer vos Datawarehouse
Connu sous le nom de code Apollo, SQL Server 2012 apporte une grande nouveauté dans l’indexation des bases de données : les index de type colonne.
Venez découvrir cette fonctionnalité et comment elle peut améliorer grandement vos performances avec le cas d’utilisation d’un DatawareHouse.

Modélisation dimensionnelle : le fondement du datawarehouse
Etoiles, flocons, granularité, faits, dimensions, mesures… c’est le vocabulaire du décisionnel, ce sont les éléments de base du datawarehouse. Kimball & Inmon, ce sont les précurseurs qui ont définit comment penser ses dimensions, comment modéliser ses tables et ses colonnes pour bien répondre au besoin d’analyse.
Avec SQL Server 2012 et son modèle tabulaire, ce modèle de conception est-il remis en cause ? Et que dire des autres courants comme Data Vault, Hadoop et consorts ?
Cette session fait le tour de ces notions et des modélisations existantes. Elle présente les concepts essentiels à prendre en compte pour bien construire sa solution décisionnelle, que ce soit en termes de justesse de l’analyse, d’efficacité pour le stockage ou de temps de réponse. Cette session s’adresse aux nouveaux venus du décisionnel, aux autodidactes n’ayant jamais pu acquérir la théorie ou encore aux consultants confirmés qui souhaitent se mettre à jour sur les bonnes pratiques de la modélisation dimensionnelle.

Les nouveautés SSIS dans SQL Server 2012
SSIS bénéficie de nombreuses améliorations dans la prochaine version de SQL Server (nouveaux designers, mode projet, etc.).
Venez découvrir toutes ces nouveautés qui enrichissent cet outil de manipulation de données, indispensable dans les projets décisionnels mais aussi très pratique dans de nombreuses tâches de développement.

MDS & DQS : données d’entreprise Tour d’horizon de SQL Server 2012 Master Data Services et Data Quality Services, où nous verrons comment mettre en place un référentiel de données d’entreprise et d’un système de qualité de données tout cela dans une démarche de Master Data Management.

Programme SQL Core

Réussir sa migration vers SQL 2008 R2 ou SQL Server 2012 La migration vers une nouvelle version de SQL Server : le pourquoi, le comment, les problématiques, les meilleures pratiques, le retour d’expérience.
Tout ce qu’il faut savoir pour bien migrer.

Nouveaux évènements étendus dans SQL Server 2012
SQL Server bénéficie d’un moteur événementiel puissant. Découvrez tout ce qu’il y a à savoir sur les événements dans SQL Server et les nouveautés apportées par la prochaine version.

SQL Server : ses fonctionnalités méconnues, donc indispensables La réputation de SQL Server n’est plus à démontrer, mais connaît-on toutes les fonctionnalités offertes avec SQL Server ? Cette session fera le point sur quelques-unes des fonctionnalités disponibles dans les différentes versions actuelles de SQL Server, de 2005 à 2008 R2. Ainsi, nous verrons comment ces fonctionnalités peuvent améliorer le quotidien des systèmes informatiques.

Optimisation et Troubleshooting SQL Server Méthodes, outils et best practices pour identifier et corriger les problèmes de performances sur SQL Serveur ou tout simplement en optimiser les performances.

Industrialisation du développement SQL Server avec Visual Studio et TFS, présent et futur
La vie d’une base de données, ce n’est pas facile: des index manquants des scripts de mise à jour à lancer, mais dont on ne sait pas l’ordre… Et si tout cela pouvait être de l’histoire ancienne. Nous allons voir que nous avons avec le développement sur le moteur relationnel le même niveau d’outillage qu’un langage de développement tel que C# ou VB.Net: Intégration avec Visual Studio, source control, refactoring, tests, déployement. Et non avec SQL Server Data Tools (projet Juneau) qui arrive, SQL Server n’est pas du tout le parent pauvre de l’ALM

AlwaysOn et les groupes de disponibilité dans SQL Server 2012
La haute-disponibilité est essentielle dans les bases de données critiques. Chaque version de SQL Server a apporté ses fonctionnalités ou améliorations, offrant ainsi tout un panorama de solutions.
Avec SQL Server 2012, toutes ces solutions sont réunies dans AlwaysOn afin d’offrir une solution simple, performante et riche fonctionnellement.

Contraintes et performances Une idée solidement ancrée dans l’esprit des informaticiens est que la vérification des contraintes "gâche du temps" d’exécution, tant est si bien que certains évite de les poser.
Nous verrons quel est le coût exact d’une contrainte, quel perte de temps elle entraîne, comment minimiser leur temps d’exécution et comment la plupart des contraintes SQL permettent de vous faire gagner un temps considérable…
Après cet exposé, vous n’aurez plus qu’une seule envie : poser le maximum de contraintes dans votre base de données !

La Sécurité dans SQL Server et les nouveautés de la version 2012 Apprenez à travers cette session à protéger facilement et efficacement votre SQL Server. Vous découvrirez également comment SQL Server 2012 vous permettra de renforcer la sécurité de vos bases de données.

Serveurs Core, virtualisation : technologie d’avenir, choix technique délibéré ou effet de mode De plus en plus d’instances SQL sont virtualisées. Effet de mode, choix technologique en phase avec les besoins de performance et d’évolutivité de l’application, quels sont les bénéfices et les inconvénients de la virtualisation.
Les serveurs Core, avec la possibilité d’y installer SQL Server, constituent-ils l’avenir des serveurs de bases de données ? Quels avantages peut-on tirer de cette nouvelle possibilité ? Offre t-elle les mêmes fonctionnalités qu’une édition complète (Standard ou Entreprise) ?

SQL Server 2012 au-delà du relationnel Venez découvrir les nouvelles fonctionnalités apportées par SQL Server 2012 pour améliorer la gestion de vos données non-structurées ou semi-structurées.
Nous aborderons les nouveaux types de données comme FILETABLE, en adjonction de FILESTREAM, qui vous permettront de gérer vos fichiers BLOB directement depuis votre explorateur de fichiers.
Nous redécouvrirons la recherche de texte intégral, iFTS, avec notamment l’ajout de la recherche sémantique dans SQL Server 2012. Nous approfondirons les types particuliers comme HIERARCHYID ou les colonnes SPARSE COLUMN. Nous analyserons aussi le gain de performance amené par l’utilisation des INDEX FILTRES.
Enfin, nous ferons un tour du côté des données SPATIAL et les nouveautés apportées par la dernière mouture du moteur SQL SERVER

Trucs et astuces pour réussir des déploiements de Réplication de grande taille en entreprise Dans cette session nous partagerons les meilleures facon de configurer de grosses infrastructures de réplication de fusion pour garantir leur scalabilité et leur disponibilité en environnement critique.
Déployer et gérer de massives architectures distribuées requiert une bonne compréhension du fonctionnement interne de ces technologies et de leur configuration. Nous illustrerons cette première partie avec la facon dont un client a implementé une grosse topologie de réplication de fusion permettant de synchroniser des milliers d’appareils portables. Nous aborderons quelques unes des problematiques clés et expliquerons comment nous les avons résolues.
Enfin, nous expliquerons comment on peut combiner les technologies de Réplication avec AlwaysOn et SQL Server 2012.

Les idées reçues sur SQL Server 10 Mythes concernant SQL Server, par exemple l’escalade des verrous, les mythes sur les Backup, tempdb doit toujours avoir un datafile par cœur, AWE doit être activé sur les systèmes 64 bits, etc.
L’idée est de parler de 10 mythes qui ont la vie dure, et de démêler le vrai du faux.

Programme Appliances

Présentation des Appliances HP/Microsoft Tour d’horizon de l’offre d’appliances issues du partenariat entre Microsoft et HP.
De la Business Decision Appliance (BDA), à Database Consolidation (DBC) en passant par Parallel Data Warehouse (PDW) et les offres Fast Track, cette session présentera les avantages des appliances sur les solutions développées en interne dans les entreprises.

Fast Track et Parallel Data Warehouse (PDW)
Découvrez dans cette session toutes les fonctionnalités offertes par nos architectures de référence Fast Track et l’appliance SQL Server Parallel Data Warehouse.
Ces offres, tout en limitant le coût total de possession, permettent d’optimiser significativement les temps de réponse des Data Warehouses et DataMart.

Database Consolidation Appliance (DBC)
1000 instances dans un seul rack ? C’est maintenant possible avec DBC, la nouvelle appliance issue du partenariat avec HP.
Cette appliance a été développée pour répondre au besoin croissant des entreprises de consolider leurs bases de données et représente un pas supplémentaire vers le Cloud privé, grâce aux fonctionnalités de virtualisation de SQL Server notamment.
Vous seront présentées toutes les fonctionnalités et cas d’usage de cette appliance tant attendue.

Programme Divers

SQL Server & Sharepoint : le couple de l’année
Venez découvrir dans cette session les spécificités de l’architecture, de la gestion et du décisionnel dans un contexte SQL Server associé à SharePoint.
Les produits suivants seront couverts : SQL Server 2008 R2, SQL Server 2012, Power View (projet Crescent), SharePoint 2010, SQL Server Reporting Services, Excel Services, PowerPivot, Performance Point Services, etc.

Introduction de SQL Azure Dans cette session, vous découvrirez la base de donnée de Microsoft dans le cloud : SQL Azure. Nous ferons un tour complet de SQL Azure en passant par les scenarios simples, la sécurité, la performance, la haute disponibilité, les problèmes les plus courants et comment tirer avantage de cette base de donnée relationnelle pour vos logiciels.

Les inscriptions sont ouvertes aux Journées SQL Server (édition 2011)

21 octobre 2011

clip_image002

Rejoignez la communauté des professionnels SQL Server !

clip_image006Les experts francophones de SQL Server, les MVP (Most Valuable Professionnal) et les MCM (Microsoft Certified Master) se réunissent à Paris pour 2 jours de conférences entièrement gratuits.

Vous pourrez découvrir les nouvelles fonctionnalités de SQL Server 2012 mais aussi assister à des sessions sur des sujets pointus au travers d’un parcours consacré au moteur de base de données, d’un autre consacré à la Business Intelligence et enfin un parcours dédié aux appliances SQL Server.

Au total, ce ne sont pas moins de 23 sessions qui vous attendent sur AlwaysOn, Power View, SSIS Server, les index colonnes, SQL Server Data Tools, SQL Azure, BISM, les performances, la sécurité, etc.

Inscrivez-vous dès maintenant

 

Cet événement est organisé par la communauté SQL : le groupe des utilisateurs francophones (GUSS) et les MVP, avec l’appui et la participation de Microsoft et du sponsor Platinum : HP

image  clip_image008 clip_image010

 

Tout au long des journées, vous pourrez également poser toutes vos questions à l’espace rencontre à nos différents sponsors éditeurs, presse ou SSII. Les speakers sont également à votre disposition.

Cet événement aura lieu les

12 et 13 décembre
au
Centre de conférences Microsoft

41 quai du Président Roosevelt
Issy-les-Moulineaux

 

 

clip_image012


GUSS est affilié au PASS (Professional Association for SQL Server), leader des communautés SQL Server à travers le monde. Nous les remercions pour leur soutien dans l’organisation de cet événement.

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.

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 !

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 (<options>)

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

Vue partitionnée

8 août 2011

imageDepuis SQL Server 2005, il est possible de partitionner une table. Cela permet de réduire les scans ou de les répartir sur différents disques.

Cette fonctionnalité n’est disponible que dans la version Enterprise ; comment peut-on faire pour en bénéficier en version Standard ?

Je renvoie à la question suivante : comment faisait-on avant 2005 ?

Sous SQL Server 2000 (et précédents), on utilisait le concept de vue partitionnée. Et on l’utilise toujours pour partitionner des données en édition Standard Clignement d'œil.

Le principe est simple :

  • on crée plusieurs tables pour représenter nos partitions
  • on crée une vue qui sélectionne toutes les tables par le biais d’un UNION ALL

CREATE VIEW dbo.Data    
AS
   SELECT id, label, PartitionKey
   FROM dbo.Data0

   UNION ALL

   SELECT id, label, PartitionKey
   FROM dbo.Data1

   UNION ALL

   SELECT id, label, PartitionKey
   FROM dbo.Data2
GO    

En faisant un SELECT sur la vue, on tape dans toutes tables sans connaitre les tables sous-jacentes. Sauf qu’on ne bénéficie en rien des avantages du partitionnement (réduction des lectures ou parallélisation).

image

Evidemment, il y a un moyen d’en profiter tout de même.

Lorsque vous avez créé votre partitionnement (ie. vos différentes tables),  vous connaissiez ou avez défini un critère de partitionnement (autrement appelé clé de partitionnement). C’est souvent une date, une année, un identifiant d’agence, etc.

Il suffit donc d’indiquer la clé de partitionnement en statique à la création de la vue et le parseur SQL saura déterminer sur quel(s) table(s) se trouvent les données.

CREATE VIEW dbo.Data    
AS
   SELECT id, label, 1 as PartitionKey
   FROM dbo.Data0

   UNION ALL

   SELECT id, label, 2 as PartitionKey
   FROM dbo.Data1

   UNION ALL

   SELECT id, label, 3 as PartitionKey
   FROM dbo.Data2
GO    

On peut voir ce comportement dans le plan d’exécution

image

 

Sans ce critère de partitionnement dans la vue, la notion de partition est totalement inutile et les performances en seront même dégradées (car SQL doit lire toutes les partitions).

Donc attention aux conseils rapides trouvés sur internet. Mal utilisés, il ne servent à rien.


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers