> Data
L’automatisation des traces en 9 étapes

L’automatisation des traces en 9 étapes

par Steven Berringer - Mis en ligne le 25/10/2005 - Publié en Décembre 2004

Le Générateur de profils, la fonctionnalité de trace intégrée de SQL Server, constitue un outil précieux pour l'optimisation des performances et le débogage des applications SQL Server. Vous pouvez ainsi tracer chaque requête soumise par une application de base de données à  SQL Server et exploiter ces informations pour améliorer les performances. Par exemple, si vous exécutez une trace du Générateur de profils au cours d'un processus de longue durée, vous pourrez constater que SQL Server utilise une analyse de table, rencontrant ainsi des verrous de table ou aboutissant à  d'autres événements nuisibles pour les performances. Dans la majorité des cas, je me sers du Générateur de profils à  la demande d'un développeur qui essaie de déboguer du code de base de données épineux. Parfois, si j'ai le temps, j'adopte une approche préventive et j'exécute ma trace favorite, à  savoir la trace Duration. Celle-ci recherche les processus accédant à  SQL Server et dont la durée d'exécution est supérieure à  1 seconde. Cette valeur d'une seconde semble une limite appropriée, car cela vous permet de voir les processus qui consomment le plus de ressources sans tout monopoliser.

Lire l'article
YUKON : une mine d’or

YUKON : une mine d’or

par Michael Otey - Mis en ligne le 10/10/2005 - Publié en Octobre 2004

Yukon, dont la livraison est prévue en 2005, est la dernière version de Microsoft SQL Server. Il marque la fin d'un cycle de développement de 5 ans pour Microsoft. La firme a ajouté tellement de nouvelles fonctions à  Yukon qu'il est impossible de les énumérer toutes dans un seul article. Voici donc 13 pépites d'or que l'on risque fort de trouver dans la prochaine release notable de SQL Server.

Lire l'article
Bibliothèque Patterns and Practices

Bibliothèque Patterns and Practices

par Michael Otey - Mis en ligne le 10/10/2005 - Publié en Octobre 2004

A mesure que les solutions Microsoft gagnent en richesse fonctionnelle, elles deviennent également plus complexes à  mettre en oeuvre. Mais une véritable mine d'informations en ligne peu connue, située sur le site de Microsoft et intitulée « Microsoft Patterns and Practices Library », peut vous aider. Cette collection d'ouvrages écrits par le personnel du Support technique de Microsoft, des consultants Microsoft et des membres des équipes produits contient les meilleures pratiques de Microsoft et des conseils qui ont fait leurs preuves dans la mise en oeuvre de technologies clé, allant de la planification d'Active Directory à  l'architecture des applications en passant par des exemples de code. Vous pouvez télécharger l'ensemble des ouvrages de la section « Patterns and Practices Library » gratuitement sous forme de fichiers PDF ou les acheter en versions CDROM ou imprimée à  l'adresse http://www.microsoft.com/patterns. Vous trouverez ci-après mes cinq guides favoris traitant des bases de données

Lire l'article
Commandes DBBC

Commandes DBBC

par Michael Otey - Mis en ligne le 14/09/2005 - Publié en Octobre 2004

Les commandes DBCC (Database Consistency Checker) peuvent fournir de précieuses informations sur le fonctionnement interne de votre système SQL Server. Elles comportent toute une série de fonctions documentées puissantes, mais aussi de nombreuses possibilités non documentées, dont vous n'avez peut-être pas connaissance. Pour en savoir plus sur ces dernières, utilisez la commande DBCC HELP avec l'indicateur de trace 2520 activé. Voici sept commandes DBCC non documentées qui vous donneront un aperçu de votre système SQL Server. Pour les employer, commencez par activer l'indicateur de trace 3604 à  l'aide de la commande DBCC TRACEON (3604).

Lire l'article
Comment renforcer la sécurité de SQL Server

Comment renforcer la sécurité de SQL Server

par Michael Otey - Mis en ligne le 14/09/2005 - Publié en Octobre 2004

La sécurité demeure un sujet brûlant dans le monde informatique. Internet et des protocoles tels que SOAP (Simple Object Access Protocol) et XML poussent encore plus les utilisateurs à  rester connectés en permanence. Par ailleurs à  mesure que les nouvelles technologies rendent vos systèmes plus accessibles, la menace des virus et des pirates n'a jamais été aussi grande. Les sept étapes suivantes vous aideront à  renforcer la sécurité de vos systèmes SQL Server.

Lire l'article
Pagination côté serveur avec SQL Server

Pagination côté serveur avec SQL Server

par Andrew Rosca - Mis en ligne le 6/07/2005 - Publié en Octobre 2004

Une procédure stockée simple vous permet de contrôler les flux de données et d'accéder à  des millions d'enregistrements

Les applications Web utilisent fréquemment la pagination d'enregistrements afin de présenter de très grandes quantités de données aux utilisateurs. Par exemple, il n'est pas rare qu'un moteur de recherche Internet retourne des dizaines de milliers de résultats en réponse à  une requête d'un utilisateur. Si le moteur renvoyait l'ensemble des résultats en une seule fois, le système destinataire serait complètement saturé. C'est pourquoi la pagination décompose les données en blocs de taille fixe rendant possible la gestion des résultats et réduisant la quantité d'informations transférées en une seule fois du serveur vers le client ...L'application ne propose que quelques enregistrements à  la fois aux utilisateurs, en commençant de préférence par les informations les plus pertinentes. Non seulement la pagination facilite la compréhension et la consultation des données, mais elle améliore également les performances de l'application, car la récupération et l'affichage de volumes élevés d'informations créent une charge inutile qui peut ralentir votre système. Si ce dernier pagine les enregistrements correctement, les utilisateurs d'un moteur de recherche n'auront vraisemblablement pas besoin de consulter plus d'une ou deux pages de résultats.
Malheureusement, de nombreux programmeurs n'ont pas conscience de certains aspects importants de la pagination sur le plan des performances. Dans un environnement IIS et SQL Server classique, la méthode la plus fréquente de mise en oeuvre de la pagination consiste à  utiliser les fonctionnalités de pagination de l'objet ADO Recordset standard, notamment les propriétés AbsolutePage, PageSize et PageCount. Pour les volumes de données relativement faibles (entre quelques dizaines et quelques centaines d'enregistrements), ces fonctionnalités sont parfaitement appropriées et la charge qu'elles génèrent n'affecte pas sensiblement les performances. Toutefois, à  mesure que le nombre d'enregistrements augmente, cette technique perd en efficacité et entraîne une baisse sensible des performances de l'application.
Dans les applications gérant des volumes importants de données, par exemple une application d'approvisionnement qui affiche des nombres élevés de commandes, un site de rencontres gérant des milliers d'utilisateurs ou un site de commerce électronique qui affiche des centaines de produits en réponse à  une recherche d'un utilisateur, vous avez besoin de techniques de pagination côté serveur sophistiquées. Cet article présente un exemple simple de technique de codage que j'utilise pour des tables contenant plusieurs millions d'enregistrements.

Lire l'article
Les files d’attente

Les files d’attente

par Sameer Dandage - Mis en ligne le 6/07/2005 - Publié en Octobre 2004

Si une légère attente n'est pas critique, la solution de réplication TRQU est faite pour vous

Aujourd'hui, de plus en plus d'entreprises doivent rendre leurs données disponibles sur de multiples serveurs et sur des sites distants, en préservant une synchronisation la plus étroite possible entre les données de chacun des sites. Dès lors qu'il existe plusieurs copies des données stratégiques, la disponibilité de ces dernières s'en trouve améliorée. Par exemple, en cas de défaillance d'un site, vous pouvez dévier le trafic vers un autre site ou serveur ...Par ailleurs, les administrateurs de base de données (DBA) peuvent répartir la charge sur plusieurs serveurs, afin d'éviter la surcharge de l'un deux et améliorer les temps de réponse aux requêtes des utilisateurs, en particulier si le serveur est situé à  proximité de ceux-ci. Envisageons quelques instants un scénario illustrant les besoins de failover et de répartition de la charge pour un système de base de données qui inclut une application à  trois niveaux sur deux sites géographiquement distincts. Chaque site utilise un serveur Web, un serveur d'applications et un serveur de base de données. Lorsque le fonctionnement du système est optimum, le serveur Web et le serveur d'applications de chaque site distribuent leurs requêtes utilisateur entre les deux serveurs de base de données afin qu'ils puissent se répartir la charge de travail. Toutefois, en cas d'indisponibilité d'un des deux serveurs de base de données ou d'une des bases de données, les serveurs Web et d'applications peuvent basculer toutes leurs requêtes vers le serveur de base de données de l'autre site. Dès que le premier serveur de base de données est de nouveau opérationnel, le processus de répartition des requêtes utilisateur entre les deux est rétabli.
Lorsqu'une organisation utilise un site actif et maintient l'autre en lecture seule, les tâches du DBA sont relativement simples. En revanche, son travail devient très vite complexe si l'organisation décide de placer plusieurs sites en mode actif et de synchroniser les données entre eux. Pour répondre à  ce cas de figure, SQL Server propose une option : la réplication transactionnelle. L'objet de cet article n'étant pas d'expliquer les fondements de ce mécanisme, vous trouverez plus d'informations sur le sujet en lisant la rubrique « Réplication transactionnelle » de la documentation en ligne de SQL Server.
SQL Server 2000 propose deux options de réplication transactionnelle permettant d'actualiser les données au niveau de l'abonné (Subscriber). Pour la première, intitulée « Réplication transactionnelle avec mise à  jour immédiate des Subscribers », SQL Server utilise une validation à  deux phases afin de mettre à  jour simultanément dans la même transaction l'éditeur (Publisher) et le Subscriber. La validation à  deux phases verrouille la ligne concernée sur tous les sites participant à  la réplication lorsqu'une mise à  jour est effectuée sur l'un d'eux. Ce mécanisme de verrouillage élimine toute latence entre le moment où un Subscriber est mis à  jour et le moment où le Publisher reflète la mise à  jour en question. Pour que cette option fonctionne, le Publisher et le Subscriber doivent toutefois être en cours d'exécution et connectés en permanence, faute de quoi les utilisateurs ne peuvent pas effectuer de mises à  jour sur le Subscriber.
La deuxième option est la « Réplication transactionnelle avec mises à  jour en file d'attente », que j'abrégerai en TRQU (Transactional Replication with Queued Updates) dans cet article. A la différence de la première option, la solution TRQU requiert une certaine latence entre le moment d'une mise à  jour sur le Subscriber et le moment où celle-ci est répercutée sur le Publisher. Mais cette approche présente un inconvénient : une ligne peut être mise à  jour avec des données différentes sur plusieurs sites simultanément et la cohérence des données entre les sites ne sera pas assurée tant qu'un mécanisme de résolution des conflits n'aura pas éliminé cette incohérence. Vous définissez des règles de résolution, telles que « l'éditeur gagne » (Publisher wins) ou « l'abonné gagne » (Subscriber wins), dans la configuration TRQU. En conséquence de quoi, les mises à  jour sur un site peuvent remplacer celles effectuées sur un autre. L'approche TRQU présente l'avantage suivant : le Publisher et le Subscriber ne doivent pas être connectés en permanence et le Publisher peut être arrêté pendant la mise à  jour d'un Subscriber. Par conséquent, la réplication TRQU garantit aux utilisateurs une disponibilité plus élevée d

Lire l'article
Matérialisez vos vues

Matérialisez vos vues

par Michelle A. Poolet - Mis en ligne le 22/06/2005 - Publié en Octobre 2004

Si vous êtes prêt à  mettre le prix, les vues indexées peuvent dynamiser vos requêtes

SQL Server 2005, la prochaine version du système de base de données de Microsoft, inclura de nombreuses fonctions et extensions destinées à  accroître votre productivité, en particulier si vous développez des applications Web orientées base de données. Toutefois, Microsoft a retardé la sortie de la version définitive du produit jusqu'au premier semestre de l'année prochaine et il faudra encore attendre au moins un an après le lancement pour voir de nombreux services de production migrer vers cette nouvelle mouture. Entre temps, vous pouvez faire beaucoup en vue d'optimiser vos bases de données SQL Server 2000 ...En tant que modéliseur de données et architecte de conception, mon instinct me pousse à  examiner et optimiser le schéma des tables. Vous savez que je plaide en faveur d'une normalisation poussée des tables, une démarche essentielle pour préserver l'intégrité des données au cours des activités d'insertion et de gestion. Les avantages de la normalisation sont supérieurs au surcroît de travail généré par les jointures multitables nécessaires à  l'extraction des données. Il est néanmoins possible de réduire sensiblement le temps système consacré à  la création d'une jointure entre quatre ou cinq tables en vue d'extraire des données d'une base de données fortement normalisée ou lié à  l'agrégation de quantités importantes de données dans un rapport récapitulatif. Pour cela, vous pouvez créer une vue et, au lieu de laisser au moteur SQL Server le soin de la reconstruire dynamiquement chaque fois qu'elle est utilisée dans une requête, vous pouvez la « matérialiser ». Dans ce cas, il ne s'agit plus d'une table virtuelle, mais d'une table physique.

Une vue constitue assurément une table virtuelle dérivée. Son objet est d'améliorer la visibilité des données en les présentant dans un contexte plus informatif et de contrôler l'accès auxdites données en empêchant les utilisateurs non concernés de visualiser celles ayant un caractère critique ou sensible. SQL Server « matérialise » ou rend réel une vue en créant un index ordonné en clusters unique sur celle-ci. C'est pourquoi ce type de vue est parfois appelé vues indexées. Comme pour un index ordonné en clusters, des données sont associées à  une vue matérialisée.

Les vues matérialisées ne constituent pas une nouveauté dans le monde des bases de données. Même si les vues indexées faisaient figure de nouveauté dans SQL Server 2000, elles existent depuis des années dans d'autres systèmes de gestion de base de données (SGBD), notamment dans les systèmes Oracle et DB2 d'IBM. Les fournisseurs de SGBD destinés aux grandes plates-formes ont développé les vues matérialisées en vue d'améliorer leurs systèmes de data warehousing. Un data warehouse regroupe dans un même référentiel de grande taille des données techniques que vous avez intégrées à  partir de sources multiples. Ce référentiel peut héberger des données détaillées d'applications opérationnelles, des données récapitulatives de systèmes d'aide à  la décision ou une combinaison des deux. Dans un data warehouse, les données sont généralement synthétisées selon plusieurs dimensions (par ex., date, emplacement, produit), puis stockées pour les interrogations agrégées par OLAP et les applications d'aide à  la décision. Nous allons maintenant examiner l'utilité d'une vue matérialisée dans d'autres environnements que les data warehouse.

Lire l'article
Des richesses insoupçonnées à  portée de la main

Des richesses insoupçonnées à  portée de la main

par Brian Lawton - Mis en ligne le 22/06/2005 - Publié en Octobre 2004

SQL Server 2000 est en service depuis déjà  4 ans. Avec cette version, Microsoft a apporté un ensemble d'outils puissant, mais souvent sous-employé. Réfléchissez quelques instants à  votre environnement d'entreprise. Votre logiciel SQL Server sert-il à  d'autres tâches plus créatives que des sauvegardes occasionnelles ou encore des opérations basiques de lecture et d'écriture de données ? Selon Microsoft, la prochaine version majeure de SQL Server ne devrait pas être commercialisée avant le milieu de l'année 2005. Si l'on ajoute à  ce retard le temps de latence fréquent nécessaire aux clients avant qu'ils adoptent le nouveau produit, SQL Server 2000 a encore de beaux jours devant lui, au moins jusqu'en 2007. En attendant la prochaine version, examinons donc sept fonctionnalités souvent ignorées proposées par SQL Server 2000 et la manière dont elles peuvent vous aider dans vos tâches d'administration et de développement, afin d'accroître le retour sur vos investissements logiciels existants ...

Lire l'article
Création d’un mauvais exemple

Création d’un mauvais exemple

Mis en ligne le 23/11/2005 - Publié en Décembre 2004

Lorsque vous écrivez un exemple de code afin de reproduire une violation de la sécurité, l'un des défis à  relever réside dans le fait qu'un tel code, par définition, intègre de mauvaises pratiques. En lisant les exemples de code de l'article principal, vous pouvez être amené à  effectuer des commentaires du type « Je ne ferais pas... » ou « Cela ne poserait pas de problème de... ». Toutefois, le rôle d'un exemple susceptible de soulever les critiques des lecteurs est de montrer toute l'utilité de certaines bonnes pratiques.

Lire l'article
Comment éviter les attaques par injection de code SQL

Comment éviter les attaques par injection de code SQL

par William Sheldon - Mis en ligne le 23/11/2005 - Publié en Décembre 2004

Au moment de définir votre infrastructure de sécurité, la protection des données de votre organisation constitue votre principal objectif. SQL Server, en tant que référentiel de données, devient le centre de votre univers axé sur la sécurité. Pour sécuriser vos données, vous avez exécuté l'outil MBSA (Microsoft Baseline Security Analyzer), limité les communications avec la base de données, mis en oeuvre le protocole IPSec (Internet Protocol Security) afin de crypter vos communications et peut-être même ajouté un pare-feu séparé. Malgré tout, il reste un moyen pour les intrus d'attaquer votre base de données : par le biais des applications qu'elle prend en charge. Toute stratégie de sécurité comporte un maillon faible et, du point de la conception, l'élément le plus faible de votre stratégie sera l'application Web car elle constitue le principal point d'entrée pour les intrus, les autres chemins d'accès possibles ayant normalement été verrouillés. Toutefois, une gestion incorrecte de ce point d'entrée peut rendre vos données vulnérables à  l'attaque potentiellement dévastatrice qu'est l'injection de code SQL. Ce type d'attaque est extrêmement dommageable car elle permet aux intrus d'exécuter des commandes directement sur votre base de données.

Lire l'article
Les paramètres en première ligne

Les paramètres en première ligne

par Rodney Landrum - Mis en ligne le 25/10/2005 - Publié en Décembre 2004

En tant qu'administrateur de base de données (DBA) et analyste de données, je ne peux pas, en dépit de tous mes efforts, toujours éviter d'écrire du code pour résoudre des problèmes complexes ou tirer parti de la richesse des outils de gestion proposés par SQL Server. Au fil des années, j'ai écrit des scripts de solutions pour toutes sortes de projets liés à  SQL Server, allant de la création de lots DTS (Data Transformation Services) à  l'écriture de code ASP (Active Server Pages), me réjouissant chaque fois que je suis parvenu à  me dépêtrer des erreurs de syntaxe et de la logique des boucles imbriquées. Toutefois, lorsque Microsoft a sorti SQL Server 2000 Reporting Services, une solution qui requiert Visual Studio .NET 2003 pour l'élaboration de rapports, j'ai craint d'être obligé de franchir le pas et de devenir un développeur accompli. Mais, en fait, vous n'avez pas besoin d'être un programmeur pour développer un rapport Reporting Services. Cet outil propose deux fonctionnalités de rapports puissantes, les paramètres et les expressions, qui une fois combinées permettent aux créateurs de rapports d'ajouter des fonctionnalités sophistiquées à  leurs rapports sans écrire du code à  rallonge.

Lire l'article
Versant Open Access

Versant Open Access

Versant Corporation annonce la disponibilité de Versant Open Access, middleware de gestion de la persistance objet pour la plate-forme .Net.
 

Avec Versant Open Access .NET, l'éditeur Versant apporte à la communauté Microsoft .NET une efficacité accrue et la maturité dans le domaine de la persistance objet.

Lire l'article
SQL Server Actualités – Semaine 5 –  2005

SQL Server Actualités – Semaine 5 – 2005

Les actualités SQL Server pour le mois de Février 2005

Lire l'article
UDM : le meilleur des deux mondes

UDM : le meilleur des deux mondes

par Michael Otey - Mis en ligne le 30/03/2005 - Publié en Juin 2004

Le nouveau modèle d'Analysis Services combine le meilleur du reporting relationnel et du reporting OLAP

La prochaine version d'Analysis Services, fournie avec la nouvelle mouture de SQL Server (Yukon), regroupera les meilleurs aspects de l'analyse OLAP traditionnelle et du reporting relationnel dans un modèle dimensionnel unique, UDM (Unified Dimensional Model), à  même de couvrir les deux catégories de besoins. Par rapport aux accès directs liés aux bases de données relationnelles, la technologie OLAP procure de nombreux avantages aux analystes ...Le modèle de données dimensionnel d'OLAP permet de comprendre, de parcourir et d'explorer facilement les données. Par ailleurs, sa fonction de précalcul des données agrégées permet de répondre rapidement aux requêtes ad hoc, même sur des volumes de données importants. Un moteur analytique prenant en charge le langage d'interrogation MDX (Multidimensional Expression) vous permet d'effectuer des calculs analytiques. Par ailleurs, le modèle de données d'OLAP inclut des métadonnées riches, grâce auxquelles il est par exemple possible d'utiliser des noms orientés métier conviviaux.

Toutefois, le reporting s'appuyant directement sur la base de données sous-jacente demeure avantageux. OLAP, qui est traditionnellement structuré autour de schémas en étoile ou en flocon, ne gère pas les relations complexes arbitraires pouvant exister entre les tables. Le reporting à  partir de la base de données sous-jacente permet de manipuler un schéma flexible. Les cubes OLAP exposent également les données dans des hiérarchies prédéterminées, ce qui rend inenvisageable de véritables requêtes ad hoc sur des tables comportant des centaines de colonnes. L'accès direct au référentiel relationnel signifie que les résultats sont en temps réel, qu'ils reflètent toutes les modifications au fur et à  mesure qu'elles sont apportées et que vous pouvez explorer les données jusqu'au niveau de détail le plus poussé. De surcroît, le fait de ne pas introduire un référentiel OLAP distinct est synonyme d'économies en termes de gestion et de coût total de possession (TCO). Le tableau 1 compare les avantages du reporting relationnel et du reporting OLAP.

De nombreux outils de reporting relationnel essaient d'exploiter certains avantages procurés par OLAP en fournissant un modèle de données orienté utilisateur au-dessus de la base de données relationnelle et en réacheminant l'accès au reporting à  travers ce modèle. Ainsi, les nombreuses entreprises qui ont besoin du reporting OLAP et du reporting relationnel finissent toutes avec de multiples outils de reporting, chacun avec des modèles propriétaires, des API et des outils utilisateurs finaux distincts. Cette duplication des modèles aboutit à  une architecture hétérogène complexe. En revanche, le nouveau modèle UDM d'Analysis Services combine le meilleur des approches OLAP et relationnelle afin d'étendre les fonctionnalités et la souplesse d'utilisation du reporting.

Lire l'article
Plug in Microsoft SQL Server

Plug in Microsoft SQL Server

Arkeia Corporation, éditeur international de solutions de sauvegarde destinées aux entreprises, vient d'annoncer la sortie d'un plug-in destiné à la sauvegarde à chaud des données de Microsoft SQL Server.

Le nouveau plug-in Arkeia Network Backup protège les serveurs MS SQL en environnement hétérogène sans interrompre pour ce faire les services en cours d'exploitation.

Lire l'article
Types de documents XML

Types de documents XML

par Michael Otey - Mis en ligne le 30/03/2005 - Publié en Avril 2004

XML est devenu un outil d'interopérabilité vital et un composant essentiel de nombreuses applications. Visual Studio .NET l'utilise en tant que principale infrastructure de programmation pour les communications intra-objets et pour la création de fichiers de projet ...Voici les sept types de documents XML utilisés le plus fréquemment par les développeurs dans les applications de base de données SQL Server.

Lire l'article
SQL Server Actualités – Semaine 3 –  2005

SQL Server Actualités – Semaine 3 – 2005

Les actualités SQL Server pour le mois de Janvier 2005

Lire l'article
SQL Server Actualités – Semaine 11 –  2005

SQL Server Actualités – Semaine 11 – 2005

Les actualités SQL Server pour le mois de Mars 2005

Lire l'article
Quest Central pour SQL Server

Quest Central pour SQL Server

Quest Software annonce la disponibilité de la version 5.0 de Quest Central pour SQL Server.

La suite intégrée d'outils d'administration pour les bases de données Quest Central, s'enrichit de fonctions avancées pour l'analyse et l'optimisation des performances des environnements Microsoft SQL Server.

Lire l'article