> SQL Server
La démocratisation de la performance de l’entreprise avec PerformancePoint Server 2007

La démocratisation de la performance de l’entreprise avec PerformancePoint Server 2007

Le système d’information est devenu depuis quelques années un point central pour la croissance des entreprises. Dans un premier temps ces systèmes ont permis de collecter et de traiter l’information tout en optimisant son stockage. Puis dans un second temps, grâce à l’évolution de la puissance des machines, de la capacité disques grandissante, ces données ont pu être croisées et agrégées à des fins analytiques.Nous voyons aujourd’hui fleurir de nombreux projets autour des problématiques « VLDB » (Very Large Data Base). Le traitement de données de masse n’est plus une barrière au grand bénéfice des projets axés sur la Business Intelligence.


Contenu coplémentaire :

Présentation du produit PerformancePoint Server 2007
Les acteurs du décisionnels : http://www.olapreport.com/

Lire l'article
Service Broker

Service Broker

Service Broker offre la possibilité de travailler en mode asynchrone avec une SQL Server en proposant un service de messagerie fiable entre les instances.

Lire l'article
Un accès sécurisé aux données des rapports

Un accès sécurisé aux données des rapports

Dans les secteurs de la santé et de la finance, où les applications de base de données traitent fréquemment des informations confidentielles, le recours à l’authentification et au cryptage pour sécuriser l’accès aux données est devenu une pratique courante.
En effet, pour les entreprises soumises à des réglementations spécifiques telles que la loi américaine sur la portabilité et la responsabilité d’assurance médicale HIPAA (Health Insurance Portability and Accountability Act), la sécurisation des données des systèmes de reporting constitue une nécessité absolue. En revanche, dans de nombreux autres secteurs, la sécurité des systèmes de reporting et des bases de données auxquelles ils accèdent reste une priorité secondaire sur les listes de tâches des concepteurs et administrateurs de systèmes, en raison de sa complexité apparente.

Pourtant, ce type de travail n’a nul besoin d’être difficile, en particulier si vous utilisez SQL Server Reporting Services (SSRS) comme système de reporting. Fourni avec Windows Server 2003 ou Windows 2000. Voyons comment configurer SSRS afin de sécuriser l’accès à vos données.


Contenu complémentaire :

Le groupe utilisateurs de SQL Server

Lire l'article
Migration des cubes d’Analysis Services 2000 vers Analysis Services 2005

Migration des cubes d’Analysis Services 2000 vers Analysis Services 2005

SQL Server 2005 Analysis Services (SSAS) fournit une multitude de raisons attrayantes en faveur d’une mise à niveau à partir de SSAS 2000.
Parmi les nombreuses améliorations, SSAS 2005 offre une plus grande souplesse d’analyse en exposant plus d’attributs de dimensions sous forme d’objets d’analyse. Mais la décision d’une mise à niveau ne va pas sans défis.


Contenu complémentaire :

Hors série spécial SQL Server 2005
L’analyse décisionnelle à l’honneur dans SQL Server 2005

Lire l'article
Le respect des règles avec Reporting Services

Le respect des règles avec Reporting Services

SQL Server 2005 Reporting Services effectue un travail remarquable pour les rapports chargés d’extraire des données de SQL Server 2005 Analysis Services.
Cet outil connaît son affaire pour fournir l’infrastructure nécessaire au développement de rapports, à la sélection de paramètres et au contrôle des accès aux rapports. Toutefois, Reporting Services a parfois un comportement inattendu ou non souhaité avec les données Analysis Services et vous devez faire preuve d’imagination pour contourner ce type de limitation.

Malheureusement, les solutions de contournement inventives peuvent, dans certains cas, entraîner des modifications du modèle de données ou de la sécurité. Il est préférable de circonscrire autant que possible les exigences sur la couche présentation plutôt que de modifier les modèles de données ou la sécurité simplement afin de faciliter le reporting. Le présent article aborde une situation fréquente au cours de laquelle Reporting Services n’a pas de solution intuitive pour répondre à des exigences particulières concernant un rapport. La solution en trois volets à ce problème fait appel à des fonctionnalités disponibles dans Reporting Services et Analysis Services pour se cantonner entièrement à la couche présentation des rapports.

L’exemple de projet Reporting Services, lequel s’appuie sur la base de données exemple AdventureWorks, est téléchargeable à l’adresse http:// www.itpro.fr (Club Abonnés). Le projet en question comporte deux fichiers .rdl : AW_Sample_Problem.rdl, qui affiche le rapport du problème, et AW_Sample.rdl, qui présente la solution. J’aimerais en profiter pour remercier Al Ludlow, développeur spécialiste des data warehouses chez CIBER, pour avoir aimablement créé la majeure partie de la solution.


Contenu Complémentaire :
Tout sur Reporting Services
Le groupe utilisateur de SQL Server

Lire l'article
Scripting de schéma SQL Server 2005

Scripting de schéma SQL Server 2005

Vous est-il déjà arrivé d’avoir à scripter le schéma de base de données aux fins d’archivage ? Ou votre patron vous a peut-être demandé avec insistance de mieux documenter vos bases de données afin de respecter les exigences de la loi américaine SOX (Sarbanes-Oxley), laquelle impose aux sociétés de certifier leurs comptes auprès de l’autorité de régulation des marchés boursiers américains (SEC). L’API SMO (SQL Management Options) dans SQL Server 2005 facilite la tâche consistant à scripter les tables, procédures stockées, vues, fonctions définies par l’utilisateur (UDF) et autres objets de schéma au sein de vos bases de données.

Le présent article décrit un utilitaire en mode console Windows simple, intitulé SchemaCollector. Celui-ci est écrit en C# au moyen du .NET Framework et vous permet de collecter le schéma de base de données.
Vous spécifiez une instance SQL Server chargée d’exécuter l’utilitaire par rapport à un argument de ligne de commande et le programme de collecteur de schéma génère les différents fichiers de sortie de schéma pour les tables, procédures stockées, vues, fonctions et rôles dans les sous-répertoires appropriés d’une arborescence de répertoires. Il est possible de télécharger le code source complet de l’utilitaire SchemaCollector à l’adresse http://www.itpro.fr, Club Abonnés.

Contenu complémentaire :

Article : Révisez vos bases de la conception avec SQL Diagrammer
Article : Fonctionnalité SQL Server 2005 facilement ignorées

Lire l'article
Le cache de plan SQL dévoilé

Le cache de plan SQL dévoilé

DB2 for i5/OS simplifie la vie des administrateurs et programmeurs System i. En particulier, par la gestion automatique des plans d’accès que produit l’optimiseur de requêtes. Au fur et à mesure que l’environnement système et la base de données changent, DB2 for i5/OS détecte ces changements et met à jour le plan d’accès.
Sur beaucoup d’autres serveurs de bases de données, l’administrateur doit effectuer ces tâches manuellement et régulièrement. Bien au contraire, DB2 a été chargé de la gestion du plan de requêtes depuis que SQL a été introduit sur l’AS/400.


Contenu complémentaire :

Article iTPro.fr : ASP.NET 2.0 :Investissez dans les performances
Groupe Utilisateur : Groupe des Utilisateurs francophones de Microsoft SQL Server – GUSS

Lire l'article
Christian Robert : l’administration du serveur est facile avec SQL Server 2008

Christian Robert : l’administration du serveur est facile avec SQL Server 2008

Christian Robert nous parle de la communauté SQL Server et revient sur les nouveautés de l’année 2009



Christian Robert est secrétaire de GUSS, Groupe des Utilisateurs francophones de SQL Server et MVP SQL Server.



Dans le même thème, retrouvez aussi les vidéos suivantes :

Leaders de communautés IT

 

Fabrice Barbin, MVP Groove et Président de la Communauté Groove francophone

 





Arnaud Alcabez, MVP Exchange Server, Président du Groupe des Utilisateurs Francophones de Microsoft Exchange Server

 





Cédric Bravo, MVP Virtualisation, Co-Président du groupe utilisateur sur la virtualisation

 





Laurent Miltgen, MVP Windows Desktop Experience, fondateur du Groupe utilisateur de Windows Server et du Groupe U

Lire l'article
Lionel Billon : faire de SQL Server la première application pour les développements

Lionel Billon : faire de SQL Server la première application pour les développements

Que nous réserve SQL Server 2008 dans l'avenir ? Quelle est la stratégie BI de Microsoft ? Lionel Billon nous éclaire sur les dernières annonces.



Lionel Billon est chef de produit SQL Server, Microsoft France


Dans le même thème retrouvez la vidéo suivante :

Microsoft France
 

Eric Mittelette, responsable de l'équipe relation technique avec les développeurs en charge du contenu des Microsoft TechDays 2009

Lire l'article
SQL Server : les tendances pour 2008

SQL Server : les tendances pour 2008

Tels des Nostradamus de notre temps, les responsables informatiques et administrateurs SQL Server ont besoin de se projeter dans l’avenir pour garantir la pérennité à court et long termes des investissements d’aujourd’hui dans les technologies et les infrastructures.
L’année 2008 s’annonce riche en événements pour la communauté SQL Server. Nous avons donc pensé que quelques prédictions et pronostics, assortis des conseils avisés de quelques experts, vous aideront à choisir la meilleure route possible vers les dernières évolutions technologiques et les nouvelles versions de produits dignes d’intérêt.


Contenu complémentaire :

Des solutions géospatiales pour SQL Server 2008

Lire l'article
SQL Server : l’aide à  la migration – partie 2

SQL Server : l’aide à  la migration – partie 2

Deuxième partie de l'article portant sur SSMA, un outil qui facilite SQL Server.

Contenu complémentaire :

La première partie de l'article
le site du GUSS
Migrer vers SQL Server sans avoir à réécrire le COBOL

Lire l'article
Guide pour traiter les erreurs de SQL imbriqué

Guide pour traiter les erreurs de SQL imbriqué

Dès lors que SQL se généralise dans les applications de production, il importe de bien vérifier et traiter les erreurs des instructions SQL imbriquées. Quand vous codez des instructions SQL imbriquées dans un langage évolué, tel que ILE RPG ou ILE Cobol, vous devez toujours vérifier la bonne fin de chaque instruction SQL exécutable, puis traiter comme il se doit les éventuelles conditions inattendues. Cet article fournit quelques conseils, techniques et profils de coding qui facilitent considérablement cette tâche.
En matière de programmation SQL imbriquée, il faut observer une règle simple : vérifier la valeur SQL state aussitôt après chaque instruction SQL exécutable du programme. Quand le SQL runtime revient à votre programme après avoir tenté d’exécuter une instruction SQL, le runtime définit une variable de programme nommée SQLState pour la valeur SQL state. (Les instructions déclaratives imbriquées, telles que Declare Cursor, et les directives de précompilateur, telles que Set Option, ne sont pas exécutées par le SQL runtime, et donc elles ne contribuent jamais à définir SQL state.)

SQL state est un code de cinq caractères présentant la structure suivante : XXYYY, où
• XX désigne la classe
• YYY désigne la sous-classe

Les significations des valeurs classe sont les suivantes :
• 00 – instruction correctement exécutée sans condition
• 01 – instruction correctement exécutée avec avertissement
• 02 – l’instruction n’a traité aucune donnée
• 03 à ZZ – l’instruction a échoué à cause d’une erreur

A propos de ces classes, on peut noter plusieurs choses. La classe « 00 » ne contient que la valeur SQL state « 00000 », donc on peut tester la chaîne entière plutôt que la seule classe.

Pour plusieurs des valeurs SQL state dans la classe « 01 », divers avertissements et erreurs column-level peuvent être indiqués par une valeur positive dans la variable d’indicateur null associée à une variable hôte. Les erreurs column-level potentielles incluent la troncature de chaîne et de date heure, les erreurs arithmétiques, les erreurs de conversion de caractères et les erreurs de mapping de données. Le sujet « References to host variable » du manuel SQL Reference fournit une description complète des paramètres de variables indicateurs. S’agissant de conditions spécifiques aux colonnes, il faut coder les tests pour qu’ils conviennent à l’application en plus de la vérification d’erreurs au niveau instruction montrée dans cet article.

La classe « 02 » inclut le SQL state « 02000 », lequel indique généralement que (1) aucune ligne n’a été renvoyée sur une opération d’entrée, (2) aucune ligne n’a été ajoutée par une opération Insert qui utilise un subselect pour spécifier de nouvelles lignes, ou (3) aucune ligne n’a satisfait à la condition de recherche d’une instruction Update ou Delete. Que l’une de ces conditions soit une erreur ou une condition escomptée, dépend de l’application ; c’est un aspect que votre code de vérification d’erreurs devrait prendre en considération.

La figure 1 fournit une liste complète des valeurs de classe. Le dernier manuel V5 SQL Messages and Codes fournit une liste complète des valeurs SQL state. Ces valeurs se veulent homogènes dans toute la famille IBM DB2 et sont fondées sur le standard SQL 1999. Pour plus d’informations à ce sujet, voir l’encadré « Où trouver des valeurs SqlState et SqlCode ».

Contenu complémentaire :
--> Lire l'article
Le service notification

Le service notification

Avec le service de notification, base de données, ou bien dans un deuxième temps en utilisant l’ajout/suppression de programme du panneau de configuration.

Lire l'article
Coordination de la migration de DTS vers SSIS

Coordination de la migration de DTS vers SSIS

De combien de lots DTS (également appelés packages dans SSIS) êtes vous responsable ? Peut-être 10 ? Ou alors 50 ? Lorsque j’ai posé cette question au cours d’une conférence l’an dernier, quelques auditeurs m’ont franchement surpris en affirmant que leur environnement disposait de plus de 2000 lots DTS ! Etait-il irresponsable de ma part de leur souhaiter bonne chance pour leurs opérations de migration ? Peut-être. Néanmoins, si vous avez des centaines de lots DTS, vous devez savoir que vous n’êtes pas seul. DTS est réputé pour sa simplicité et son utilité et, en fait, de nombreuses organisations l’ont adopté pour sa capacité à générer rapidement et simplement des traitements de données.
Que vous ayez 10 lots DTS ou plusieurs centaines, vous allez probablement vous préparer à une migration inévitable vers SQL Server 2005 Integration Services (SSIS). Toutefois, au cours de vos tests et de vos recherches, les points d’achoppement sont devenus apparents : l’architecture du produit diffère de celle de SQL Server 2000 DTS, d’où une procédure de migration plus complexe qu’une simple mise à niveau, et même après la migration de quelques packages, vous pouvez vous retrouver avec un gain minime de performances. Et qu’en est-il si vous examinez des dizaines ou des centaines de lots ? Vous allez vous préparer de nombreuses nuits sans sommeil. Pourtant, vous trouverez une lumière au bout du tunnel, et celle-ci sera rayonnante. L’atteindre ne sera peut-être pas aussi difficile que vous le croyez. En fait, maintenant que SQL Server 2005 a plus d’un an de service, les ressources et les connaissances disponibles pour vous aider au cours du processus sont plus étoffées. (Pour obtenir un b.-a.-ba utile sur la question, consultez l’article « Ascension vers SQL Server 2005 », sur le site http://www.itpro.fr Club Abonnés, Hors Série SQL Server 2005, novembre 2005 ainsi que l’encadré « Votre première étape » de cet article.) Mais ne vous contentez pas de prévoir une simple migration des lots DTS vers SSIS. Apprêtez-vous plutôt à exploiter pleinement les fonctionnalités améliorées de SSIS.

IT Technical center : SQL Server 2005 - Guide des ressources complémentaires

Lire l'article
Automatisez vos audits de sécurité

Automatisez vos audits de sécurité

SQL Server ? Fort heureusement, il existe des mesures permettant de réduire sensiblement les risques. Vous pouvez prévenir (ou au moins limiter) de nombreuses attaques SQL simplement en vérifiant initialement que vos bases de données et serveurs sont sécurisés comme il se doit.
La configuration de tous les ports d’écoute est-elle appropriée ? Avez-vous désactivé l’ensemble des bibliothèques réseau superflues ? Avez-vous pensé à supprimer les anciens fichiers de configuration SQL Server ? Et la liste ne s’arrête pas là.
Admettons-le, il faut du temps pour sécuriser tous les points de contrôle jusqu’au dernier et pour conserver une longueur d’avance sur les personnes malintentionnées. Chaque jour apporte son lot de nouvelles vulnérabilités concernant la sécurité, d’où la nécessité d’ajouter de nouveaux contrôles et d’effectuer une surveillance fréquente pour rester à l’abri des mauvaises surprises.
Dans ces circonstances, il serait épatant de pouvoir automatiser quelque peu toutes ces tâches d’audit longues et fastidieuses. C’est désormais possible si vous appliquez les techniques simples exposées dans cet article et si vous adaptez le code fourni à votre situation spécifique.

Lire l'article
Optimisation des bases de données MS SQL Server : les requêtes

Optimisation des bases de données MS SQL Server : les requêtes

En théorie, quelle que soit la façon d'écrire une requête, le SGBDR doit être capable de trouver le moyen le plus efficace de traiter la demande, grâce à l'optimiseur. Mais parce qu'il y a loin de la théorie à la pratique, différentes écritures et différents styles de résolution, alliés à la qualité de l'indexation peuvent donner des temps d'exécution très variés.
C'est pourquoi la maîtrise de la conception de requêtes est un des points clefs de la performance d'une base de données bien conçue. Voyons quels en sont les principes basiques.
Dans un cours que je donne aux Arts & Métiers, je montre comment une bonne indexation alliée à la qualité de l'écriture des requêtes, peut faire varier dans une proportion de plus de 300 le temps d'exécution d'une requête. Je commence l'exercice par une demande simple : écrire une requête SQL permettant de répondre à une question basique, mais en prenant soin d'exprimer différentes solutions, même les plus bizarres.

Outre la solution simpliste, certains y arrivent par une union, d'autres avec des sous requêtes, d'autres encore avec des jeux de CASE... L'exécution brute de toutes ces solutions, donne un coût d'exécution allant du simple au triple. La pose d'un premier index trivial ne donne rien, par manque de sélectivité. Après élimination de cette première tentative, la pose d'un nouvel index montre que les requêtes les plus coûteuses au départ deviennent les plus rapides, alors que celles qui étaient les moins coûteuses à l'origine n'ont rien gagné. Un nouvel essai d'indexation remet toutes les requêtes au même rang qu'au départ, chacune gagnant dans la même proportion et plus que l'indexation précédente.

Enfin, la dernière tentative d'indexation étant la bonne, toutes les requêtes bénéficient d'un gain important, mais certaines bien plus que d'autres. Le clou est enfoncé lorsque l'on choisit de dénormaliser avec une vue. Là, le gain devient gigantesque. Il est voisin de 13 000. Mais il ne prend pas en compte l'effort supplémentaire à faire pour les mises à jour (INSERT, UPDATE, DELETE...).

Cet exercice nous apprend trois choses :
• différentes écritures d'une même requête ne donneront pas forcément les mêmes performances, bien que dans l’absolu, ce devrait être le cas [1]
• rien ne sert de poser un index s'il ne sert pas la requête
• une même requête écrite de différentes manières ne bénéficiera pas des mêmes gains lorsque l’on pose un index J’ajouterai que tout ceci évolue en fonction de la volumétrie des données et des données mêmes !

Tant est si bien qu’il est difficile de trouver de prime abord ce qu’est l’écriture d’une bonne requête. Affirmons cependant qu’une bonne requête est une requête qui sait tirer partie du moteur de requête pour le forcer à calculer un plan de requête dont les étapes sont les plus courtes à traiter.

[1] En fait, nous croyons souvent et naïvement que certaines écritures de requêtes sont identiques. Mais nous oublions souvent l’influence du marqueur NULL, dont le comportement particulier dans différents prédicats oblige le moteur SQL à des constructions parfois fort différentes.

Lire l'article
XML et SQL SERVER

XML et SQL SERVER

Les informations échangées entre les différents systèmes, les différentes applications le sont de plus en plus auSQL Server, se sont adaptées. En effet, SQL Server à, entre autre, pour objectif de faciliter le travail avec les données. Pour cela, SQL Server dispose d'un ensemble d'instructions pour extraire des informations relationnelles au format XML ou bien l'opération inverse qui consiste à lire des données au format XML afin de stocker les informations dans une structure relationnelle classique.

Ces 2 étapes sont nécessaires et permettent de confier au moteur de base de données la plupart des transformations depuis ou vers le format XML à SQL Server. Mais SQL Server propose plus en offrant la possibilité de créer des colonnes de type XML. En intégrant directement les informations XML dans la structure relationnelle classique, SQL Server offre plus de souplesse en terme de stockage. Ce type XML est bien plus qu'un simple champ texte car SQL Server rend possible l'indexation des colonnes de type XML mais également la mise à jour, l'ajout et la suppression de données dans le document XML lui-même.

Ce sont ces trois fonctionnalités (extraire les informations au format XML, importer des données XML, stocker des données au format XML) de SQL Server qui sont exposées ci-dessous.

Lire l'article
La sécurité de SQL Server 2005 en 10 étapes

La sécurité de SQL Server 2005 en 10 étapes

Le produit SQL Server 2005 de Microsoft est un sécuriser les composants de l’infrastructure, notamment les serveurs de base de données. Cette stratégie met l’accent sur la protection de la périphérie, du réseau, des hôtes, des applications, des données et sur les défenses physiques. Le présent article expose 10 étapes à respecter avant, pendant et après l’installation de SQL Server 2005, afin de blinder votre infrastructure avec une défense en profondeur.

Lire l'article
Prenez le contrôle de vos rapports avec ReportViewer, 2e partie

Prenez le contrôle de vos rapports avec ReportViewer, 2e partie

Comme vous avez pu le découvrir dans la 1ère partie de cet article, le contrôle ReportViewer dees paramètres du rapport. Dans la 1ère partie de cet article, j’expliquais comment créer et afficher un rapport local en utilisant principalement la programmation « drag-and-drop » (glisser-déplacer) pour créer le dataset.

Nous allons maintenant voir comment écrire du code servant à demander les paramètres du rapport et à fournir le dataset, ce qui vous ouvrira des possibilités infinies concernant les types de rapports que vous pouvez créer. Par exemple, il est possible de créer une application qui stocke les définitions de rapport local dans des fichiers externes, afin que vous puissiez ajouter de nouveaux rapports ou mettre à jour des rapports existants sans recompiler et redistribuer l’application.

Lire l'article
Optimisation des bases de données SQL Server Troisième partie

Optimisation des bases de données SQL Server Troisième partie

TROISIÈME PARTIE : LE MODÈLE DE DONNÉES
Optimiser une base de données simplement par la qualité de son modèle est une chose simple, très efficace et à coût nul... Voila qui devrait intéresser beaucoup de monde. Or c'est souvent l'inverse qui se passe : le peu d'attention apportée au modèle, le peu de précaution dans le choix des types de données, le peu de respect des formes normales sont autant d'icebergs qui ne vont pointer leurs nez qu'au moment une base de données à raison d'une table pour un fichier est un échec assuré dont beaucoup d'éditeurs de solutions informatiques ont fait les frais.

Ce nouvel article a donc pour but de vous faire comprendre ce que sont les données, les types de données et la modélisation dans la perspective d'optimisation d'une base et donc d'un serveur. Toute application avec une forte implication de SGBDR commence par une modélisation des données. La qualité d'un modèle de données, ne se fera sentir que lorsque ce dernier sera mis à l'épreuve du feu, qui dans l'univers des SGBDR consiste à farcir ses tables qu'une quantité phénoménale de données et jouer les requêtes les plus fréquentes afin d'en mesurer les temps de réponse. Or cette phase est rarement entreprise en test. Elle l'est généralement en production.

C'est là qu'est l'os, hélas1, car il est déjà trop tard ! Lorsqu'un modèle de données est établi, et que le poids du volume des données se fait sentir, alors tenter de le remodéliser pour gagner des performances est un chalenge difficile : les évolutions du schéma conduisent à des migrations de données importantes (donc risquées) et des modifications d'interfaces conséquentes (donc du code à récrire). Lorsqu'il s'agit d'une base de données volumineuse, l'inertie des données peut être telle que l'alternative est s'adapter avec un coût de modification élevé ou mourir. C'est pourquoi un modèle de données bâclé présente la particularité d'avoir un coût très élevé lorsqu'il doit être rectifié, alors qu'un modèle peaufiné présente un coût quasi nul si l'on utilise l'outil adéquat et l'homme d'expérience.

Malheureusement, les français ont beau avoir inventé une méthode de modélisation d'une grande simplicité (MERISE2) il n'en demeure pas moins que peu d'informaticiens savent modéliser les données de manière intelligente. Bref, ce sont de ces écueils que je veux aujourd'hui vous entretenir, et pour cela, j'ai découpé en différentes parties le présent article. La première traite des types de données, la seconde des clefs, la troisième des tables et la quatrième de la normalisation.

Lire l'article