
SQL Server Actualités – Semaine 24 – 2006
Les actualités SQL Server de la semaine du 12 au 18 Juin 2006

SQL Server Actualités – Semaine 12 – 2006
Les actualités SQL Server de la semaine du 20 au 26 Mars 2006
Lire l'article
Outils Best Practices Analyser
par Michael Otey - Mis en ligne le 23/03/2006 - Publié en Décembre 2004
Si vous débutez en tant qu’administrateur SQL Server ou si vous exercez votre activité de DBA à mi-temps et que vous n’êtes pas un pro de SQL Server, le nouvel outil d’administration SQL Server 2000 Best Practices Analyzer de Microsoft va vous rendre des services inestimables. Ce produit est téléchargeable à l’adresse http://www.microsoft. com/dowloads/details.aspx?familyid=b352eb1f-d3ca-44 ee- 893e-9e07339c1f22&displaylang=en. Cet outil utilise un ensemble de règles destinées à contrôler la mise en oeuvre des meilleures pratiques courantes, la plupart ciblant l’utilisation et l’administration. Ces règles incluent plus de 70 meilleures pratiques et directives fournies par Microsoft pour la gestion et l’utilisation de votre système. Vous pouvez également définir votre propre ensemble de règles. Voici mes sept règles de prédilection contrôlées par l’outil Best Practices Analyzer.

Amélioration des performances d’interrogation d’Analysis Services
par Herts Chen - Mis en ligne le 23/03/2006 - Publié en Décembre 2004
Analysis Services est un moteur de requête multidimensionnel haute performance. Il prend le relais du moteur SQL relationnel pour assurer le traitement des requêtes analytiques et statistiques. Lorsque ces requêtes sont simples ou comportent des pré-agrégations, Analysis Services peut vous faciliter la tâche. En revanche, dès que le niveau de complexité des requêtes augmente, il peut s’enliser. Par exemple, une requête SQL SELECT qui inclut une clause GROUP BY et agrège des fonctions peut nécessiter plusieurs minutes, voire plus. Il est possible de récupérer le même ensemble de résultats en quelques secondes seulement si vous exécutez une instruction MDX sur un cube MOLAP (Multidimensional OLAP) Analysis Services. L’astuce consiste à passer une requête MDX à un serveur Analysis Services lié à partir de SQL Server, en utilisant la fonction OPENQUERY dans une instruction SQL SELECT, comme l’explique la documentation en ligne de SQL Server. Analysis Services précalcule alors les agrégations nécessaires au cours du traitement et de la création du cube MOLAP, de sorte que les résultats sont disponibles en tout ou partie avant qu’un utilisateur demande à les consulter.Toutefois, il est impossible de précalculer toutes les agrégations imaginables. Même un cube MOLAP complètement traité ne peut précalculer des agrégations telles que celles présentes dans les cellules calculées, les membres calculés, les formules de cumul personnalisé, les formules de membres personnalisés, ainsi que dans les instructions FILTER et ORDER. Si vous êtes habitués aux performances associées à la seule récupération d’agrégations précalculées, les performances découlant d’une requête MDX qui intègre ces types de calcul au moment de l’exécution peut sembler beaucoup trop lentes. L’origine du problème ne réside peut-être pas dans l’impossibilité d’Analysis Services à gérer efficacement les calculs au moment de l’exécution, mais dans une conception non optimisée de votre cube MOLAP.
Au cours de mon travail de création et de gestion de data warehouse pour la ville de Portland, Oregon (Etats-Unis), j’ai optimisé Analysis Services afin que les ingénieurs de la circulation puissent accéder rapidement à une multitude de statistiques sur les accidents de la circulation en agglomération. Après de nombreux essais, j’ai découvert que l’une des clés de l’optimisation de MOLAP réside dans le partitionnement des cubes. L’objet de cet article est de présenter et de comparer différentes stratégies de partitionnement de cube MOLAP et leur incidence sur les performances d’exécution des requêtes. Il aborde ensuite quelques recommandations pour la conception de partitions

Publication de SQL Server dans Active Directory
par Chad Miller - Mis en ligne le 07/12/2005 - Publié en Décembre 2004
Vous avez peut-être remarqué la présence de l'onglet Active Directory dans la boîte
de dialogue SQL Server Properties de la console Enterprise Manager et vous vous
être peut-être interrogé sur le rapport existant entre Active Directory (AD) et SQL
Server ainsi que sur l'avantage d'ajouter SQL Server avec ses bases de données à
AD. Les services réseau tels que les serveurs de fichiers et d'impression se servent
d'Active Directory pour publier et stocker des informations relatives aux ressources
qu'ils proposent. Celui-ci contient une liste des comptes utilisateur et un annuaire
des ressources réseau disponibles.

MS Analysis Services : Hors des sentiers battus
par William Sheldon - Mis en ligne le 07/12/2005 - Publié en Décembre 2004
PARTIE I : LES « CUSTOM MEMBERS »
MS Analysis Services recèle un grand nombre de fonctionnalités avancées.
Certaines peuvent sembler gadget de prime abord mais s'avèrent en fait particulièrement
utiles dans la pratique.
Cette série d'articles s'adresse en priorité à ceux d'entre vous qui utilisent déjà
MS Analysis Services et qui souhaitent élargir
leur connaissance du produit. Il permettra
également à ceux qui découvrent
l'OLAP avec les technologies Microsoft de
se familiariser avec de nouveaux concepts.
Il ne s'agit pas bien entendu d'un exposé
complet sur les fonctionnalités avancées
de MS Analysis Services (la documentation
en ligne livrée avec le produit est
faite pour cela) mais d'un retour d'expérience
sur l'utilisation concrète de certaines fonctions clés du produit qui sont souvent
sous-estimées ou tout simplement méconnues.

SQL Server Actualités – Semaine 14 – 2006
Les actualités SQL Server de la semaine du 3 au 9 Avril 2006
Lire l'article
StrataFrame Application Framework
MicroFour présente StrataFrame Application Framework, pour .NET 2.0. Ce produit permet de programmer dans n’importe quel langage .NET et s’intègre directement dans Visual Studio 2005 IDE.
Ce framework vous fournit des fonctionnalités améliorées au sein de ses objets.
Lire l'article
MS Analysis : hors des sentiers battus : partie 2
par Lionel Billon - Mis en ligne le 05/04/2006 - Publié en Février 2005
Outre les membres calculés, MS Analysis Services propose plusieurs mécanismes sophistiqués pour que vous puissiez surcharger les agrégations d’un cube. Dans le précédent article, nous avions parlé des Custom Members. A présent, nous allons aborder la notion de “Custom Rollup” et de Cellules calculées.Les notions de Membres calculés, Custom Member, “Custom Rollup” et Cellules calculées ont des points communs : elles permettent de surcharger les agrégations du cube et sont définis en MDX. Elles ont également des différences, dont voici un bref rappel :
- Le Membre Calculé est associé à une dimension, il permet d’ajouter un calcul MDX matérialisé sous forme d’un nouveau membre de cette dimension.
- Le Custom Member est lui aussi associé à une dimension. Il permet cependant d’externaliser le calcul MDX d’un membre calculé classique au sein d’une table relationnelle. L’avantage par rapport au membre calculé est donc de pouvoir bénéficier automatiquement de ce calcul dans l’ensemble des cubes utilisant la dimension hôte du "custom member", sans redéfinir le calcul. (Ce qui facilite grandement les tâches d’administration).
- Le “Custom Rollup” est également associé à une dimension, plus précisément à un niveau d’une dimension. Il s’applique à tous les membres du niveau sur lequel il est appliqué à l’exception des membres calculés. Tout comme le Custom Member, le “Custom Rollup” est réagrégé automatiquement.
- La Cellule Calculée est sans doute l’outil le moins connu et le moins utilisé de MS Analysis Services. Souple et versatile, la Cellule Calculée permet de définir un calcul s’appliquant à un sous ensemble de cube (tranche de cube) sans création de membre supplémentaire. La Cellule Calculée vient tout simplement remplacer la valeur affichée dans les cellules du cube comprises dans la tranche qu’elle couvre. Si les membres calculés peuvent être, dans une certaine mesure, récursifs, les cellules calculées sont les seules à pouvoir être exécutées plusieurs fois tout en pouvant accéder aux valeurs obtenues lors des passes précédentes. Ce qui peut être fort utile pour les calculs itératifs de type « Goal Seeking ». (Par exemple, dans l’utilisation d’un calcul cherchant le pourcentage de rétribution optimal pour les commerciaux. Le calcul pourrait évaluer plusieurs scénarios : Un premier test pourrait être effectué avec une rétribution de 10%, cependant si après rétribution la rentabilité n’est plus conforme aux objectifs, le calcul pourrait tester une rétribution de 5% et si nécessaire baisser la rétribution à 3%.)

Synchronisation à la demande
par Gary Zaika - Mis en ligne le 05/04/2006 - Publié en Février 2005
Après l’attaque du World Trade Center, le 11 septembre 2001, nombre d’organisations ont reconsidéré leur approche de la gestion et de la protection des données d’entreprise stratégiques. La mise en place d’un centre de traitement distant avec un deuxième ensemble de bases de données et de serveurs d’applications est devenue une pratique courante. Les entreprises ont accepté de supporter le coût du personnel et des centres de traitement supplémentaires, ainsi que des modifications dans la conception des applications afin de pouvoir basculer les opérations rapidement vers un autre emplacement en cas de sinistre. Par exemple, après les attaques du 11 septembre, une grande banque pour laquelle j’ai travaillé récemment comme consultant Microsoft Consulting Services a commencé à demander la configuration suivante, à savoir la possibilité d’exécuter toutes les applications cruciales à partir de l’un ou l’autre de deux sites distants de plusieurs centaines de kilomètres, sans induire une interruption du fonctionnement supérieure à 2 heures.Ces exigences économiques plus strictes constituent un défi pour les architectes de bases de données. La majorité des bases de données des organisations ne cessent de croître, mais les fenêtres admissibles pour la maintenance et les interruptions de fonctionnement sont réduites au minimum. Les bases de données doivent offrir une disponibilité maximale et être prêtes à fonctionner dans des environnements distribués, et les données des bases de données principales (l’éditeur ou publisher) et secondaires (l’abonné ou subscriber) doivent rester synchronisées en permanence.
Plusieurs solutions prennent en charge la haute disponibilité pour les bases de données SQL Server 2000 réparties sur différents sites, notamment l’envoi des journaux, les solutions matérielles et logicielles tierce partie telles que les clusters géographiques ou la solution de réplication distante du stockage SRDF d’EMC, ou encore la réplication transactionnelle. Dans la plupart des solutions de haute disponibilité, l’abonné est partiellement ou complètement indisponible pendant la synchronisation des données. Par exemple, dans le cas de l’envoi des journaux, la base de données de l’abonné est accessible en lecture seule uniquement si aucun nouveau journal des transactions n’est appliqué. Avec la solution matérielle SRDF onéreuse, la base de données de l’abonné n’est jamais disponible ; elle ne le devient que pour la restauration des données en cas d’arrêt de la base de données de l’éditeur. Seule la réplication transactionnelle permet d’utiliser pleinement la base de données de l’abonné en permanence. Cette solution est disponible dans toutes les éditions de SQL Server, d’où la possibilité d’éviter les dépenses supplémentaires liées à l’achat de logiciels tierce partie, tout en exploitant au maximum les plates-formes matérielles en place. C’est la raison pour laquelle de nombreuses entreprises ont retenu la réplication transactionnelle comme solution de haute disponibilité.
Néanmoins, cette approche ne résout pas automatiquement le problème de la synchronisation des données. La mise en place et la gestion de cette solution requiert des processus métier performants et une équipe de DBA particulièrement compétents. Nous allons, dans cet article, examiner le problème de disponibilité élevée auquel la banque pour laquelle j’ai travaillé a été confrontée lors de la mise en oeuvre de la réplication transactionnelle et de la synchronisation permanente des données. Nous verrons également comment j’ai résolu le problème en employant une nouvelle méthode que j’ai appelée « réplication forcée ».

Quest InTrust 9.0
Quest Software annonce la disponibilité simultanée de Quest InTrust 9.0, nouvelle version de la solution Quest de collecte et d’audit des événements pour les environnements hétérogènes, et de Compliance Portal, pour un contrôle simplifié, via une interface Web, du degré de conformité du système d’information aux directives internes et aux obligations réglementaires.
Les deux solutions sont intégrées à la suite Quest Compliance Suite for Windows.
Lire l'article
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 ...

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.

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.

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.

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.

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.

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

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).

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.