Archive

Articles taggués ‘SQL-Server’

Le programme de Microsoft pour 2012 [2/2]

On en saura sans doute beaucoup plus à l’occasion des Microsoft Techdays 2012 (prévus les 7,8 et 9 Février prochain), mais voici déjà une brève présentation des différents produits et évolutions qui vont désormais constituer l’écosystème BI autour de SQL-Server 2012. SQL-Server « Denali » – c’est son nom de code – est prévu en version commerciale pour la fin de l’année. (Pour l’heure il n’est disponible qu’en Release Candidate depuis le site officiel). Petit tour d’horizon en deux parties.

Ce billet est la suite d’une première partie publiée le 27 Janvier qui présentait les nouveautés 2012 du SGBD SQL-Server, de Integration Services et de Analysis Services ainsi que le nouveau BI Semantic Model (BISM).

Aconcagua

Kilimandjaro 5891m, Denali 6194m, est-ce que l'Aconcagua, plus haut sommet d'Amérique Latine avec 6962m sera le petit nom de la prochaine version de SQL-Server ?

2.1/ Reporting Services

SSRS ne contient pas d’innovation majeure dans sa mouture 2012. Cela fait déjà plusieurs versions que Microsoft n’en fait plus sa priorité et cette outil à l’interface « old school » sera vraisemblablement remplacé prochainement. On attend par exemple toujours de savoir comment il pourra se connecter aux BISM, Microsoft n’étant pas très bavard sur le sujet.

Pour l’heure deux améliorations sont à noter:

  • Une meilleure intégration dans Sharepoint: celle-ci est grandement simplifiée
  • Un système d’alerte utilisateur:  SSRS possède maintenant un système d’abonnement plus efficace et mieux adapté aux besoins des consommateurs de rapports. Il est dorénavant possible de créer des règles qui alerteront vos usagers en fonction du mouvement de vos données dans vos rapports.

2.2/ Power View / Crescent

Power View (nom de code Crescent) est un outil permettant de visualiser les données, de partager rapidement les analyses et de créer des animations de rapports en quelques clics, facilitées par l’utilisation d’un ruban proche d’Office 2010.

Techniquement, Power View permet de manipuler des données dans une interface Silverlight intégrée à SharePoint. Power View s’appuie sur la nouvelle couche sémantique BI (BISM) et utilise un nouveau modèle de données de type tabulaire, utilisé par Power Pivot, et désormais greffé à Analysis Services.

Les analyses Power View se conçoivent comme des animations et peuvent être « publiées » au format Web ou Powerpoint.

Une démo Power View en vidéo:

2.3/ Powerpivot V2

Avec SQL-Server 2012, Powerpivot change de dimension. Avec la version 2008-R2 Powerpivot V1 était surtout un gros plug-in Excel. Aujourd’hui, ce n’est plus seulement un outil autonome, c’est aussi un client et un outil de conception de modèle d’analyse BISM en mode tabulaire. La nouvelle version de l’addin s’aligne avec les projet SSAS Tabular de Visual Studio. Enfin, Powerpivot utilise aussi le langage DAX (qui ressemble à du code de macro Excel) pour accéder aux données.

Principales nouveautés:

  • Création de KPI : permet de définir des objectifs aux mesures et une iconographie pour représenter l’atteinte ou non de ces objectifs
  • Tri des membres en fonction d’une autre colonne
  • Vue en mode Diagramme (comme dans Visual Studio)
  • Table de temps : permet de définir une dimension comme “temporelle”
  • Perspectives : permet de définir des “vues” différentes sur le modèle (ex : mesures et dimensions pour les commerciaux et pour le marketing) ; équivalent aux perspectives d’Analysis Services
  • Etc…

Voir aussi cette vidéo en ligne sur Powerpivot.

2.4/ Dependency Services / Projet Barcelona

SQL-Server 2012 propose aussi un outil additionnel qui vaut le détour. Issus du projet « Barcelona » Dependency Services comment ce composant additionnel permet d’aider à la traçabilité des données ou encore de maintenir une documentation à jour sur un processus d’intégration de données. L’idée est de tracer toutes les dépendances des données entre les composants d’une solution BI (sources, SQL, packages SSIS, rapports, modèles PowerPivot, etc.).

L’objectif est de pouvoir répondre à des questions comme : que ce passe t-il si je supprime cette colonne ?

Cet outil permet de générer des métadonnées, sous forme de tableaux ou de schéma qui peuvent ensuite être publié sous forma de pages web.

Voir aussi cette vidéo de présentation de Dependency Services.

2.5/ Parallel Datawarehouse / Projet Madison

Comme pour la version 2008-R2 SQL-Server inclue une offre Parallel Datawarehouse  (ex-projet Madison) qui lui permet de muscler son offre sur le segment du datawarehouse en dopant les performances et la capacité de données traitées.

Il s’agit d’une appliance couplant SQL Server à la technologie de Datallegro – une société rachetée en 2008 par Microsoft – qui vise les méga entrepôts de données. Datallegro fournit une version massivement parallèle (MPP pour Massive Parallel Processing) de SQL Server à même d’être déployée sur un grand nombre de nœuds serveurs afin d’accélérer le traitement des requêtes. Plusieurs partenaires matériels de Microsoft, dont Bull, Dell, HP, EMC et IBM, devrait dans un futur proche proposer des configurations prêtes à l’emploi autour de cette version de SQL Server.

Ces appliances permettent respectivement d’accélérer la mise en place d’un projet de datawarehouse (en fournissant hardware et SQL server pré-installé et optimisé pour un usage décisionnel) et d’assurer des performances optimisées sur des très gros volumes.

2.6/ Windows Azure

Windows Azure est la solution « cloud » de Microsoft. Elle permet d’héberger, exécuter et gérer des applications et données dans le ou les centre de données Microsoft de son choix (dont 2 en Europe).

Windows Azure

Schéma de fonctionnement de Windows Azure, à quand une solution BI complète dans le "cloud" ?

Concernant la business intelligence, Windows Azure n’offre pas encore de solution complète. Si une base relationnelle est disponible dans le nuage (SQL-Azure) avec des fonctionnalités de serveur de rapport qui seront accessible via BIDS 2012 (Business Intelligence Development studio), il faudra attendre encore un peu pour voir une suite BI complète déployée sur Azure. Pour l’heure la seule solution consiste à héberger les données sur les datacenters Microsoft et d’utiliser le connecteur AppFabric pour connecter son propre système d’information aux ressources hébergées chez Microsoft (comme le propose cette société).

Ainsi donc s’achève ce tour d’horizon des nouveautés SQL-Server 2012. Si certaines paraissent être plus de l’ordre du gadget, il y a néanmoins de nombreuses innovations majeures, que ce soit en terme d’outils ou de fonctionnalités, faisant de 2012 une année charnière dans le développement de la BI version Microsoft. On pourra cependant regretter que la firme de Redmond « tâte le terrain » dans toutes les directions dans le but de tester le marché et le besoin, plutôt que d’indiquer clairement la démarche dans laquelle elle souhaite se positionner à l’avenir.

Liens utiles :

Le programme de Microsoft pour 2012 [1/2]

On en saura sans doute beaucoup plus à l’occasion des Microsoft Techdays 2012 (prévus les 7,8 et 9 Février prochain), mais voici déjà une brève présentation des différents produits et évolutions qui vont désormais constituer l’écosystème BI autour de SQL-Server 2012. SQL-Server « Denali » – c’est son nom de code – est prévu en version commerciale pour la fin de l’année. (Pour l’heure il n’est disponible qu’en Release Candidate depuis le site officiel). Petit tour d’horizon en deux parties.

Mont McKinley ou "Denali"

Le mont McKinley, ou "Denali" en langue locale athapascane, plus haut sommet d'Amérique du Nord, culmine à 6194m

1.1/ SQL-Server 2012 aka « Denali »

Pour sa mouture 2012 de SQL-Server, Microsoft met en avant 2 fonctionnalités nouvelles pour son SGBD:

  • Le AlwaysOn qui est une solution de reprise en cas de sinistre (disaster recovery plan) afin de garantir une haute disponibilité de la base de données. Cette fonctionnalité est sensée garantir un « failover » deux fois plus rapide en cas de sinistre. Voir cette vidéo de présentation.
  • Les ColumnStore Index (projet « Apollo ») pour proposer de meilleures performances sur des requêtes de type jointure en étoile. Ces indexes colonnes viennent enrichir la liste des solutions d’optimisation et de tuning existantes sur les précédentes versions (indexes, indexes cluster, statistics…). Plus d’info dans ce livre blanc sur les bénéfices d’Apollo.

On notera aussi d’autres innovations intéressantes sur SQL-Server 2012:

  • Le Change Data Capture (CDC) qui supporte maintenant les bases de données Oracle
  • Le SSMA (SQL Server Migration Assistant), qui permet d’automatiser la migration de base de données non SQL Server vers SQL Server
  • Juneau: une nouvelle interface de développement rassemblant Visual Studio et Management Studio dans la même IDE
  • La fonction FileTable permettant de créer un objet base de données lié à un fichier localisé dans un dossier du système de fichier.
  • Etc…

1.2/ BI Semantic Model (BISM)

La vraie nouveauté conceptuelle de SQL-Server 2012 est l’arrivée du BI Semantic Model (ou BISM). Il s’agit là d’un vrai modèle Business de l’entreprise qui vient rassembler et enrichir les précédentes notions d’UDM (SSAS) et de report model (Report Builder).

Ce modèle est composé de 3 couches:

  • une couche d’accès aux données offrant un accès en ROLAP, MOLAP, Vertipaq (nouveau serveur OLAP en mémoire, faisant partie du projet Apollo), ou direct query
  • une couche Business logique qui offre une structuration des données soit en OLAP via SSAS et MDX ou bien via powerpivot et DAX
  • une couche data model qui supporte les données tabulaires et multi-dimensionnelles

Ces BI semantic models pourront être créés à partir de Visual Studio ou de PowerPivot.

Vous l’aurez compris, Microsoft tente une nouvelle fois de présenter une alternative métier crédible à la  notion d’ »univers » cher à Business Objects. En l’intégrant avec toutes ses technologies existantes (ce qui n’était pas le cas de feu les report models), il semble cette année mettre toutes les chances de son coté. A voir si les BISM tiennent le choc sur le gros volumes.

A noter qu’il n’est pas prévu pour l’instant de possibilité de migrer des UDM en BISM.

BI Semantic Model architecture

Le BISM dans le nouveau écosystème SQL-Server 2012

1.3/ Integration Services

Les nouveautés 2012 concernant l’intégration de données sont articulées autour d’outils complémentaires à SSIS: Data Quality Services et le déjà célèbre Master Data Services.

  • Data Quality Services (DQS): c’est un outil destiné à maintenir et améliorer la qualité des données de l’entreprise en provenance de sources tierces (clients, fournisseurs, …).
    • DQS permet aussi la modélisation métier des données. Par le biais d’une interface client il sera possible de créer des bases de connaissance (type thésaurus).
    • Ces bases contiendront des règles d’épuration, de validation ainsi que les données de référence. DQS est aussi un outil précieux pour le recherche de doublons et dans l’évolution des bases de connaissance.
    • Enfin, les différentes règles de nettoyage pourront être utilisées au niveau les flux de données dans Integration services (SSIS) via un nouveau composant.
  • Master Data Services (MDS) qui existait déjà dans la version précédente de SQL-Server a été grandement amélioré. Il permet de définir les données de références, de gérer les métadonnées. Grâce à son intégration comme plugin d’Excel, il permet de filtrer et modifier les données avant de les visualiser dans Excel. On regrettera qu’il n’existe apparemment toujours pas de système de « lock » pour gérer les accès simultanés…

1.4/ Analysis Services

SSAS est indiscutablement le parent pauvre des nouveautés de cette version Denali. Tellement pauvre que dans la foulée de la présentation l’an dernier son sort a agité la blogosphère spécialisée (voir cet article entre autre). De nombreux experts ont caressée l’hypothèse que Microsoft soit en train de s’employer à mettre son moteur OLAP sur une voie de garage.

Il est vrai que le manque de souplesse des modèles UDM sous-jacents à SSAS a souvent été pointé du doigt tant il représentait une difficulté à résoudre les problématiques métiers les moins standards. Cela a conduit les experts du monde entier à « tordre » l’outil dans tous les sens afin de faire rentrer une logique métier calquée sur du relationnel, dans une modélisation multi-dimensionnelle.

C’est dans cette perspective qu’il faut voir l’arrivée de BISM, Vertipaq et DAX. Ces outils sont destinés à compléter SSAS plus qu’à le remplacer. Car comme cela a été exprimé plus haut, les volumes très importants de données nécessiteront toujours de « dénormaliser » et de passer en dimensionnel. Ces « concurents » au couple SSAS/MDX permettront juste de se simplifier la vie pour modéliser des problématiques métiers relationnelles sur des volumes faibles.

La suite de cet article sur les nouveautés de SQL-Server 2012 sera publiée début Février. Au programme: Reporting Services, Crescent, PowerPivot, Barcelona et Azure !

Liens utiles :

Formation en soirée « MDX », le 18 janvier à Paris

Venez rencontrer les équipes Homsys à l’occasion de cette Formation !
Au programme : échanges avec nos experts, ateliers et bonnes pratiques.

Homsys vous propose de participer à ses Formations en Soirée avec une session à Paris « Initiation au MDX dans le cadre d’un cube SSAS », le mercredi 18 janvier à partir de 18h30.

Cette formation a pour objectif de vous donner un aperçu du MDX et de son application dans un cube Analysis Services.

Vous y apprendrez notamment :

  • Les notions les plus importantes du MDX
  • Les fonctions MDX les plus utiles pour un cube SSAS
  • La création d’indicateurs via script MDX dans un cube
  • La création de jeu de données (SET) et de membres calculées
  • L’utilisation de la « time intelligence »

Pré-requis : avoir déjà des connaissance sur SSAS (idéalement avoir suivi les deux premières FES SSAS).

Rendez-vous dans nos locaux, au 38 rue de Ponthieu – 75008 Paris.

Pour en savoir plus : site Homsys
Pour vous inscrire* :
- Mail : klalandre[at]homsys.com
- En ligne : sur le site Homsys

*Participation gratuite après confirmation par Homsys.

Gestion des jobs sur sql server agent sans passer par sql server management studio

Lorsque l’on veut démarrer un job sur sql server agent, il n’est pas forcément nécessaire d’utiliser l’interface sql server management studio. Vous pouvez piloter vos jobs, soit en créant une interface maison (une web part par exemple) ou directement par sql. Je vous propose de vous décrire les étapes les plus utilisées.

1. Récupération de liste des jobs et leurs statuts

Pour récupérer la liste des jobs, je vous conseille de faire appel a la procédure stockée suivante msdb.dbo.sp_help_job . Cette procédure ramène les informations complètes sur les jobs y compris le statut en cours.


On va s’intéresser à 2 champs :

  • job_id : identifiant du job nécessaire pour accéder à l’historique des jobs.
  • Current_execution_status : spécifie le statut en cours du job.

    Définition de la liste des statuts :
    0 = arrêté ou suspendu,

    1 = en cours d’exécution,
    2 = en attente d’un thread,
    3 = réessaie,
    4 = arrêté,
    5 = suspendu,
    6 = en attente de terminaison d’étape,
    7 = exécutions des actions d’achèvement

2. Démarrage et arrêt d’un job

2.1 Démarrage du job

Pour démarrer un Job sans passé par l’interface de sql server agent, il suffit de faire appel à la procédure stockée msdb.dbo.sp_start_job .Cette procédure nécessite en paramètre le nom du job à exécuter. Comme dans l’exemple ci-dessous :

Exec msdb.dbo.sp_start_job
‘My_Job_Name’

2.2 Arrêt du job

Pour stopper un Job sans passé par l’interface de sql server agent, il suffit de faire appel à la procédure stockée msdb.dbo.sp_stop_job . Cette procédure nécessite également en paramètre le nom du job à exécuter. Comme dans l’exemple ci-dessous :

Exec msdb.dbo.sp_stop_job
‘My_Job_Name’

3. Connaître le résultat de l’exécution d’un job

Avec la table sysjobhistory il est possible de savoir si l’exécution d’un job c’est terminé avec succès ou non. Après avoir récupérer au préalable l’ID du job, il vous suffit de récupérer la dernière instance, est lire la colonne run_status pour connaître le résultat de l’exécution.

SELECT [instance_id] ,[step_id],[run_status] FROM [msdb].[dbo].[sysjobhistory] where [job_id]= ‘JobID’
and [instance_id] in
(select
Max([instance_id]) FROM [msdb].[dbo].[sysjobhistory] where [job_id] =
‘JobID’)

Categories: Trucs & astuces Tags:

Formation en soirée « SSAS avancé », le 19 octobre à Paris


Venez rencontrer les équipes Homsys à l’occasion de cette Formation !
Au programme : échanges avec nos experts, ateliers et bonnes pratiques.

Homsys vous propose de participer à ses Formations en Soirée avec une session à Paris « SQL Server Analysis Services (SSAS) avancé », le mercredi 19 octobre à partir de 18h30.

Cette formation vous donnera un aperçu des fonctionnalités avancées d’un cube Analysis Services. Vous y apprendrez notamment :

  • Les relations évoluées (référencé, many to many)
  • Le paramétrage des agrégations et des partitions
  • La création d’indicateurs MDX
  • La création d’actions (notamment drillthrough)
  • La gestion des traductions
  • L’implémentation des perspectives
  • A savoir déployer et sécuriser les données dans Analysis Services

Pré-requis : vous disposez déjà d’une première expérience BI et connaissez les bases de SSAS (création de la Data source View, création d’une dimension, création d’un cube simple).

Rendez-vous dans nos locaux, au 38 rue de Ponthieu – 75008 Paris.

Pour en savoir plus : site Homsys

Pour vous inscrire* :
- Mail : klalandre[at]homsys.com
- En ligne : sur le site Homsys

*Participation gratuite après confirmation par Homsys.

Formation en soirée « Introduction à SSAS » le 28 juin à Paris

Venez rencontrer les équipes Homsys à l’occasion de cette Formation ! au programme : échanges avec nos experts, ateliers et bonnes pratiques.

Homsys vous propose de participer à ses Formations en Soirée avec une première session à Paris « Introduction à SQL Server Analysis Services (SSAS) », le mardi 28 juin à partir de 18h30.

    Cette formation a pour objectif de vous donner les bases afin de bien démarrer un projet Analysis Services. Vous y apprendrez :

  • A comprendre l’utilisation de SQL Server Analysis Services pour vos futurs projets d’analyse décisionnelle avec notamment ses forces mais aussi ses faiblesses
  • A maîtriser la création de cubes multidimensionnels avec BIDS
  • A être en mesure de modéliser et de réaliser des dimensions et des mesures dans une solution Analysis Services
  • A savoir déployer et sécuriser les données dans Analysis Services
  • A utiliser Analysis Services au travers de la puissance de navigation offerte par Excel 2010

Pré-requis : vous disposez déjà d’une première expérience BI

Rendez-vous dans nos locaux, au 38 rue de Ponthieu – 75008 Paris.

Pour en savoir plus : site Homsys

Pour vous inscrire* :
- Mail : klalandre[at]homsys.com
- En ligne : sur le site Homsys

*Participation gratuite après confirmation par Homsys.

La gestion des logs avec SSIS

Pouvoir être en mesure de suivre la bonne exécution des traitements batch SSIS est primordiale.

Plusieurs solutions permettent de répondre à ce besoin de suivi :

  1. La méthode manuelle : Management Studio propose un historique d’exécution des jobs
  2. L’utilisation de tâches SQL permettant de renseigner une table de log
  3. L’utilisation des logs standards SSIS

La solution 2. est très souvent rencontrée sur les projets par simple méconnaissance de la 3.

Cet article décrit donc comment mettre en place en quelques minutes un suivi des traitements SSIS performant.

L’activation des logs s’effectue pour chaque package dans le menu SSIS\Enregistrement (Logging en version anglaise)

Les étapes à réaliser sont les suivantes :

  1. Choisir dans la liste déroulante type de fournisseur, où seront stockés les logs (base de données, fichier XML,…) puis cliquer sur le bouton Ajouter. Personnellement, je préconise le stockage SQL Server qui permet une exploitation aisée de ces données
  2. Cocher la case à cocher devant le nom du package
  3. Activer la case à cocher devant le fournisseur SQL Server
  4. Sélectionner la base de données hébergeant la table de log

clip_image002

Remarque : Il n’est pas possible de choisir le nom de la table dans laquelle les logs seront stockés. SSIS 2005 les stocke dans la table sysdtslog90, SSIS 2008 dans sysssislog.

L’onglet Détails permet ensuite de spécifier le niveau de finesse dans le suivi des traitements :

Afin d’éviter des logs trop volumineux, je recommande de tracer uniquement les événements suivants :

  • OnPreExecute : Trace le début d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle
  • OnPostExecute : Trace la fin d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle
  • OnError : Trace toutes les erreurs survenues aux niveaux Flux de contrôle et Flux de données

clip_image002[5]

Les principaux champs de la table de logs sont les suivants :

  • Event : événement qui a généré le log (OnPreExecute, OnPostExecute ou OnError)
  • Computer : ordinateur qui l’a exécuté
  • Operator : utilisateur qui l’a exécuté (permet par exemple de différencier une exécution automatique effectuée par l’agent SQL Server d’une exécution manuelle de rattrapage)
  • Source : étape du flux qui a généré le log
  • SourceId : Identifiant de l’élément (package, tâche de contrôle…) ayant généré le log
  • executionId : identifiant unique de l’exécution
  • Starttime : début de l’événement qui a généré le log
  • Endtime : fin de l’événement qui a généré le log
  • Message : détails de l’événement (notamment les messages d’erreurs sur l’événement OnError)
    En quelques clics nous avons ainsi paramétré le stockage de l’information relative à l’exécution des flux SSIS. Ces données peuvent maintenant être requêtées en SQL ou utilisées via du reporting.

    A noter qu’une ligne est écrite dans la table de log pour chaque événement: début d’une tâche, fin d’une tâche ou erreur. Les données doivent donc être manipulées pour obtenir une ligne du type: nom de la tâche, date de début, date de fin et statut d’exécution.

    Homsys propose ainsi un ensemble de tableaux de suivi développés sous Reporting Services. Cet aspect sera présenté dans un prochain article…

SQL-Server : Comment évaluer la qualité d’indexes et faire les REBUILD et REORGANIZE en conséquence ?

Afin de profiter pleinement de l’optimisation des temps de réponses que procurent les indexes, il ne faut pas oublier de prévoir une tâche régulière d’ »entretien ». Elle consiste à effectuer des REBUILD ou des REORGANIZE en fonction de l’état de fragmentation de l’indexe. Cette tâche pourra ensuite être intégrée à un job de chargement quotidien par exemple.

Voici un récapitulatif des « best practises » en la matière.

Astuce

Utiliser la fonction ‘sys.dm_db_index_physical_stats‘ et son champ ‘avg_fragmentation_in_percent

Syntaxe

sys.dm_db_index_physical_stats (
{ database_id | NULL }
, { object_id | NULL }
, { index_id | NULL | 0 }
, { partition_number | NULL }
, { mode | NULL | DEFAULT }
)

Exemple

SELECT b.name, a.* FROM
sys.dm_db_index_physical_stats (
DB_ID(N’Ma_base’)
, OBJECT_ID(N’dbo.Ma_table’)
, NULL
, NULL
, DEFAULT
) AS a
JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id

Recommendations Microsoft

Valeur de avg_fragmentation_in_percent Correction à apporter
> 5% et < = 30% ALTER INDEX REORGANIZE
> 30% ALTER INDEX REBUILD WITH (ONLINE = ON)

Exemples

ALTER INDEX [Mon_indexe] ON dbo.Ma_table REBUILD
ALTER INDEX [Mon_indexe] ON dbo.Ma_table REORGANIZE