Actualités, Dossiers et Ressources IT Professionnelles -
jeudi 13 mars 2025
>
Data
Gérer des hiérarchies
par Itzik Ben-Gan
Avec des déclencheurs et T-SQL, on peut mettre sur pied une solution de gestion
des données hiérarchiques fonctionnelle, et qui assure sa propre maintenance.
Une start-up Internet attire Andrew vers un nouveau poste ; Steven et Michael,
qui étaient sous sa responsabilité, ont besoin d'un nouveau manager. Super Janet
prend Steven et Michael sous son aile bien qu'elle supervise déjà directement
Robert, Laura et Ann Robert, à son tour, va diriger sa propre équipe. Mais récemment,
Robert a commencé à chercher un poste proposant des horaires plus attrayants et
un meilleur salaire. Si Robert quitte la société, qui va chapeauter David, Ron
et Dan, sans compter James, l'assistant de David ? Et, plus important encore,
comment le service informatique va-t-il répercuter tous ces changements de managers
dans l'organigramme de la société ?
Les structures hiérarchiques, également appelées arbres, présentent des dépendances
hiérarchiques entre leurs membres. Une structure hiérarchique classique est constituée
d'un organigramme décrivant les relations entre les employés d'une entreprise.
Un manager est chargé de superviser certains employés, ces employés peuvent à
leur tour être chargés de gérer d'autres employés, etc…
Ni, le langage SQL, ni SQL Server ne dispose d'un support intégré pour
ces structures hiérarchiques
Ni, le langage SQL, ni SQL Server ne disposent d'un support intégré pour ces structures
hiérarchiques. Alors, comment traiter les hiérarchies avec des systèmes de gestion
de base de données relationnelle (SGBDR), tels que SQL Server ? Considérez la
figure 1, qui montre un organigramme simple. On remarque que chaque employé a
un supérieur hiérarchique, sauf Nancy qui est la responsable au niveau le plus
haut. La façon la plus courante de représenter une telle structure dans une base
de données relationnelle est d'utiliser des paires de colonnes : une colonne comportant
les ID des employés (les enfants) et l'autre, les ID de leurs managers (les parents).
Le problème avec cette solution est que Nancy n'a pas de supérieur hiérarchique,
mais qu'il faut tout de même mettre une valeur dans sa colonne Manager ID. Pour
résoudre ce problème, il suffit de mettre un NULL dans la colonne Manager ID.
Une autre solution serait d'enregistrer l'ID de Nancy dans la colonne Manager
ID et faire ainsi de Nancy son propre chef.
Pour bien voir comment maintenir les hiérarchies avec SQL Server, créez une table
simple contenant les informations concernant les employés de l'organigramme de
la figure 1. On peut alors utiliser des déclencheurs, des requêtes T-SQL et des
procédures cataloguées pour suivre une ID d'employé, un nom d'employé, une ID
de manager et le salaires de l'employé et de son supérieur hiérarchique lorsqu'un
nouvel embauché rejoint la société, change de poste dans l'entreprise, ou lorsqu'il
quitte la société. Pour les besoins de notre exemple, utilisez NULL comme valeur
de l'ID du manager de Nancy.
par Robert Vieira
Maîtrisez les UDF de SQL Server 2000
J'ai commencé à travailler avec SQL Server en version 6.0. Bien que j'aie antérieurement
déjà utilisé le langage SQL en environnement VMS en 1989, la majeure partie de
mon expérience relative aux bases de données s'était déroulée dans un environnement
de fichiers plats. J'ai été étonné de constater que les opérations sur les enregistrements
de type curseur ne me manquaient pas autant que la capacité de définir simplement
des fonctions. Avec SQL Server 2000, je peux enfin créer des UDF (User-Defined
Functions : fonctions définies par l'utilisateur) utilisables non seulement dans
les scripts, mais aussi en ligne dans des instructions DML (Data Manipulation
Language). SQL Server 2000 possède deux types d'UDF. Le premier type renvoie une
valeur scalaire et le second des tables. Dans le présent article, je présente
des exemples de chacun des deux types et décris brièvement la manière d'utiliser
les UDF dans des applications SQL Server 2000.
à€ bien des égards, les UDF ressemblent à des procédures cataloguées
Configuration des sécurités de SQL Server 7.0 et de IIS
par John D. Lambert
Comment améliorer les sécurités et les performances de la connexion.
L'utilisation des configurations par défaut rend l'installation de Microsoft IIS
et de SQL Server 7.0 plus rapide et plus simple, mais en acceptant les valeurs
par défaut pour l'authentification sur SQL Server 7.0, on peut mettre en danger
la sécurité des données du serveur. Etant donné que SQL Server 7.0 comporte certaines
failles dans sa sécurité, l'authentification Windows 2000 ou Windows NT constitue
peut-être un meilleur choix que celle de SQL Server. La plupart du temps, les
gens utilisent IIS avec des pages Web qui se connectent à SQL Server via des liens
ODBC dans le modèle de programmation ADO. Cette méthode fonctionne, mais ce n'est
pas la plus efficace. Dans cet article, je présente quelques astuces que l'on
peut utiliser pour améliorer les sécurités et la connexion à SQL Server.
On a deux possibilités lorsqu'on configure l'authentification dans SQL
Server 7.0 : le mode Windows NT et le mode mixte
Abordons avant tout les différentes possibilités d'authentification. On a deux
possibilités lorsqu'on configure l'authentification dans SQL Server 7.0 : le mode
Windows NT et le mode mixte. Microsoft recommande fortement l'authentification
NT. En fait, SQL Server 2000 utilise par défaut l'authentification NT à l'installation.
Le white paper "Microsoft SQL Server 7.0 Security " (http://www.microsoft.com/sql/techinfo/dupsecurity.document)
contient plus d'informations sur la mise en place des authentifications. Les outils
de piratage disponibles sur le Web permettent à tout employé malhonnête, depuis
l'intérieur de vos firewalls, ou à n'importe qui capable de passer ces firewalls,
de remplacer le mot de passe de votre compte administrateur, de se connecter,
de créer un nouveau compte ayant des privilèges d'administrateur, se déconnecter
et de remplacer votre mot de passe précédent. Ainsi, si l'authentification SQL
Server reste active, on permet à un intrus potentiel d'acquérir le contrôle total
de la base de données. La réponse officielle de Microsoft à cette vulnérabilité
est qu'il faut entièrement désactiver l'authentification SQL Server. Pour utiliser
SQL Server avec une authentification NT, il faut d'abord créer des comptes NT
que les pages Web pourront utiliser, puis donner les autorisations SQL Server
dont elles auront besoin. Ensuite, on convertit les pages pour qu'elles puissent
utiliser les comptes NT correctement mappés lorsque les utilisateurs se connectent
anonymement. Après avoir rendu les pages Web compatibles avec l'authentification
NT, reconfigurez SQL Server pour utiliser uniquement cette authentification NT.
Faites ces modifications sur votre serveur de développement dans un premier temps,
et, après vous être assuré que la configuration fonctionne correctement, reproduisez
ce processus sur les serveurs de production.
Pour rendre une page Web compatible avec les comptes NT, il faut que le code puisse
utiliser des connexions sécurisées, comme je vais le démontrer. Si on utilise
des objets de connexion que l'on a intégrés à des DLL, et que l'on a installé
ces DLL dans MTS (Microsoft Transaction Server) en tant que composant COM+, le
travail sera plus facile que si on a codé les connexions dans chaque page Web.
Il ne vous reste plus alors qu'à modifier le code source pour utiliser une chaîne
de connexion sécurisée, recompiler le code et mettre à jour le composant MTS.
Si votre site Web utilise des objets de connexions ADO sur chaque page, il faut
éditer chacun d'entre eux. Si vous avez de nombreuses pages, un outil de recherche
et de remplacement fonctionnant au niveau d'une arborescence de répertoires peut
vous faire gagner du temps.
Optimisez les sécurités et la connexion à SQL Server et IIS
Voici un résumé des choses que l'on peut mettre en oeuvre pour optimiser
la sécurité et la connexion à SQL Server.
1. Utiliser des authentifications uniquement Wi
Lire l'article
Microsoft .NET décrypté
par Michael Otey En tant que pierre angulaire de l'architecture .NET, SQL Server permet l'accès aux données d'entreprise, à la fois par le biais du Web et des PC de bureau.Dévoilé l'année dernière au cours du Forum 2000, Microsoft .NET est l'incarnation la plus récente des Next Generation Windows Services (NGWS), le nom précédent de la prochaine version de Windows adaptée au Web. Bien que .NET ne soit encore qu'un objectif, plus qu'une réelle entité tangible, il promet d'avoir des effets très conséquents, aussi bien pour Microsoft que pour l'industrie des logiciels en général.
Microsoft .NET représente une refonte complète des lignes de produits de l'entreprise et de son futur technologique. Aucun applicatif de Microsoft, SQL Server en tête, ne pourra rester en l'état dès lors que l'éditeur de Redmond déroulera sa stratégie .NET au cours des quelques années à venir. Le changement de nom en .NET transformera Windows en Windows.NET, SQL Server en SQL Server.NET, Microsoft Office en Office.NET, Visual Studio en Visual Studio.NET, etc. Mais la métamorphose .NET va beaucoup plus loin qu'un simple changement de nom. Microsoft .NET est une infrastructure qui incorpore l'Internet et qui change la façon dont les technologies Microsoft interagissent entre-elles et comment les utilisateurs les exploiteront. Microsoft a fait de SQL Server la pierre angulaire de cette nouvelle architecture en permettant un accès aux données de l'entreprise à la fois via le Web et par un poste de travail classique. A ce stade très préliminaire de l'initiative .NET, il n'est vraiment pas facile de distinguer les hyperboles marketing des détails techniques concrets. Je vais cependant essayer de brosser un tableau global de la vision de Microsoft pour le futur. Nous verrons également comment Microsoft .NET a la capacité de transformer à la fois Microsoft et la façon dont on construit des applications Windows.
par Bob Pfeiffer Inspirez-vous de l'exemple simple décrit ici pour extraire des données relationnelles vers un datamart multidimensionnel
Vous avez certainement déjà entendu les termes datamart, bases de données multidimensionnelles, schéma en étoile. Mais nombreux sont ceux qui pensent que le fonctionnement des entrepôts de données (datawarehouse) reste un mystère. Si vous n'avez pas pris part à un projet de développement de datawarehouse d'entreprise ou d'un département de l'entreprise, vous avez peut-être du mal à maîtriser ces concepts et à imaginer comment ils peuvent se traduire en solutions pratiques. Aussi, commençons cette présentation des entrepôts de données une fois encore par l'analyse d'un problème de gestion courant, et en parcourant une solution de datamart simple utilisant l'environnement contrôlé de la base de données témoin Northwind fournie avec SQL Server.
par Brian Moran
NDLR
Journaliste et MVP (Most Valuable Professional) SQL Server, Brian Moran s'est
récemment entretenu avec Paul Flessner, Vice-Président SQL Server et Middleware
chez Microsoft, à propos de l'évolution de SQL Server et de son rôle dans les
environnements des services informatiques des entreprises.
Paul Flessner fut l'intervenant clé de la Conférence Expo PASS 2000 en Amérique
du Nord l'année dernière à San Francisco (Pour plus d'informations, consulter
le site Web http://sqlpass.org).
Ce qui suit est un extrait de l'interview, on peut lire l'interview complète sur
www.sqlmag.com, InstantDoc ID 8993.
par Karen Delaney SQL Server 2000 ouvre une voie alternative pour atteindre des performances maximales
Remarque : Les auteurs ont basé leurs articles SQL Server 2000 sur des versions
antérieures à la Bêta 2. Aussi, il se peut que vous remarquiez quelques
différences entre la Bêta 2 et le comportement ou les interfaces décrits
dans cet article. En particulier, veuillez noter que la fonction vues indexées
ne sera disponible que dans SQL Server 2000 Enterprise Edition. Toutefois,
on peut installer Entreprise Edition sur un serveur NT 4 ou Windows 2000
(W2K). On n'est pas obligé d'utiliser NT 4.0 Enterprise ou W2K Advanced
Server.
Le puissant et récent support de SQL Server 2000 des vues indexées promet de nous
faciliter la tâche tout en exécutant les applications et requêtes plus rapidement.
Cela vous semble trop beau pour être vrai ? Les vues indexées permettent de précalculer
toutes sortes de jointures, agrégations et formules pour que l'on n'ait plus à
écrire ces conditions dans chaque requête. De plus, Microsoft déclare obtenir
des gains de performance de 10 à 100 fois supérieurs au sein des applications
et requêtes accédant aux vues indexées par rapport aux tables de base. Bien qu'Oracle
supporte une fonctionnalité similaire, appelée vues matérialisées, les nouvelles
vues indexées de SQL Server vont bien au-delà de ce qu'offre la concurrence.
Les nouvelles vues indexées de SQL Server vont bien au-delà de ce qu'offre
la concurrence
Vues indexées ou vues matérialisées ?
Vous avez peut-être entendu parler du concours doté d'un prix d'un million
de dollars organisé par Oracle lorsque Microsoft a lancé SQL Server 7.0.
Ce concours a été modifié trois fois, mais la version finale ressemble à
ceci :
"Oracle Corp. versera la somme d'un million de dollars à la première personne
capable de démontrer que SQL Server 7.0, avec une base de données TPC-D
d'un Tera-octets peut se rapprocher à 1/100 près des meilleures performances
publiées à ce jour par Oracle pour la requête n°5 du standard TPC-D actuel
(version 1.3.1). Pour être éligible, le candidat doit réaliser un test TPC-D
sur 1 To complet, répondant à toutes les contraintes de chargement, de mise
à jour et de recherche des données, et publier un rapport intégral de toutes
les mesures de performances. Le candidat peut utiliser n'importe quelle
plate-forme habilitée à héberger SQL Server 7.0. Les tests doivent être
validés par un organisme certifié TPC".
Oracle était sûr de son fait, car son système prenait déjà en charge une
fonctionnalité appelée "Vues matérialisées". Etant donné que le TPC (Transaction
Processing Performance Council) documente de manière exhaustive les spécifications
de ses benchmarks, Oracle a été en mesure de créer des vues matérialisées
correspondant aux requêtes exécutées au cours du benchmark. Ainsi, il suffit
à la base de données de lire les résultats pré-calculés depuis le disque,
sans avoir à effectuer aucun traitement. Si SQL Server 7.0 avait pris en
charge les vues indexées, Oracle n'aurait jamais organisé ce concours.
Les vues indexées de SQL Server 2000 présentent plusieurs avantages par
rapport aux vues matérialisées d'Oracle. Tout d'abord, les vues matérialisées
ne sont pas dynamiques. Il faut les rafraîchir manuellement pour prendre
en compte les modifications intervenues dans les données. Ensuite, l'optimiseur
de requêtes d'Oracle ne prévoit pas de façon automatique l'utilisation d'une
vue matérialisée si on ne précise pas directement le nom de la vue dans
la clause FROM de la requête.
Qu'on utilise des vues indexées ou matérialisées, dans les deux cas, il
faut con
Lire l'article
Résolution de problèmes avec SQL Profiler
par Itzik Ben-Gan Retrouvez le coupable en reconstituant le crime…
L'utilisation de l'outil de traçage SQL Profiler de SQL Server 7.0 est comparable
à l'aide qu'apporterait un enquêteur privé, permettant d'optimiser, de dépanner
et de gérer un environnement SQL Server. L'article "Comment suivre un événement
à la trace avec SQL Server Profiler" présente l'architecture de suivi de SQL Server
7.0, et indique comment définir au moyen d'une interface graphique une fonction
de suivi avec Profiler. Désormais, vous êtes prêt à plonger dans des eaux plus
profondes, et à réexécuter les actions enregistrées par Profiler, et définir des
actions de suivi automatique avec les procédures cataloguées étendues de suivi
de SQL Server 7.0. Avec ces bases solides, on peut mettre à profit Profiler et
les procédures cataloguées étendues pour examiner différents cas de figure, allant
des requêtes dont l'exécution est anormalement longue aux situations de blocage.
Si on souhaite réexécuter des traces, il faut d'abord mener quelques tâches
préliminaires à bien
L'instruction Select est incontournable…
Pour exécuter une requête SQL, l'utilisation de l'instruction Select est incontournable.
C'est pourquoi, j'entame cette série d'articles consacrée aux fondements du langage
SQL par un article qui présente la syntaxe de l'instruction Select.
La plupart des exemples de déclarations ci-dessous proviennent et ont été testés
en utilisant le SQL interactif (ISQL: Interactive SQL) de l'AS/400. ISQL est invoqué
à partir de la ligne de commande par la commande STRSQL (Start SQL). Pour obtenir
de plus amples renseignements sur ISQL, consultez l'article "Interactive SQL",
NEWS/400, août 1998.
Un grand nombre d'entreprises exécutent NT Server sur processeurs Intel. Ce choix
est intéressant à plusieurs titres : le matériel est meilleur marché, l'éventail
des constructeurs et très large, le catalogue applicatif est extrêmement important…
mais les systèmes plafonnent à 4. La situation change avec la nouvelle architecture
Profusion d'Intel.
NT Server progresse fortement et les entreprises sont de plus en plus nombreuses
à déployer sur NT Server des applications telles que data mining, progiciels de
gestion (ERP) et serveurs de terminaux, tournant sur des serveurs SMP à architecture
Intel. Parallèlement elles sont plus exigeantes sur les niveaux d'évolutivité
des systèmes, en vue d'améliorer les performances. Or le serveur SMP à quatre
voies ne peut plus répondre à ces besoins. Pour apporter une solution à cette
situation, Intel a donc mis au point un nouveau standard, le système SMP baptisé
Profusion, une méthode standardisée permettant de placer huit processeurs dans
une CPU. On trouve sur le marché quantité de machines à 4 voies et plus, mais
elles utilisent des architectures propriétaires. Un serveur SMP à 8 voies vraiment
évolutif permet aux applications comme SAP et SQL Server 7.0 d'atteindre de meilleures
performances.Le support de huit processeurs par l'architecture Intel Profusion
est unique et il est important de comprendre cette nouvelle architecture avant
d'évaluer et d'acheter un nouveau serveur SMP à 8 voies. Quelle est donc cette
nouvelle architecture, ses composants, ses perspectives ?
par David Jones
Utilisez la fonction de recherche documentaire de SQL Server 7.0 pour concevoir des bases de données pouvant être consultées sur le Web
Que vous fassiez des recherches pour un exposé ou que vous
recherchiez un numéro de téléphone, ou encore que vous ne fassiez que surfer,
vous utilisez probablement un moteur de recherche Internet quotidiennement. Pour
répondre à la demande d'informations récupérables, de nombreuses
entreprises conçoivent des sites Web utilisant des bases de données
relationnelles en arrière-plan et sur lesquels les utilisateurs peuvent
effectuer des recherches dynamiques. En notre qualité d'administrateurs de
bases de données et de développeurs d'applications, nous devons concevoir de
meilleurs mécanismes permettant à l'utilisateur de rechercher des informations
sur l'entreprise, telles que les bilans pour les actionnaires, les communiqués
de presse, les catalogues produits, etc... La fonction de recherche documentaire
de SQL Server 7.0 peut représenter la réponse. Le moteur de recherche
documentaire de SQL Server permet des recherches rapides, et offre des
fonctionnalités avancées de recherche de texte, très utiles dans un
environnement d'entreprise.
Vous utilisez
probablement un moteur de recherche Internet quotidiennement
Avec les premières versions de SQL Server, on était limité
à des requêtes sur de larges blocs de texte en utilisant LIKE dans une
instruction SELECT. Mais l'instruction LIKE est limitée, car elle ne peut
établir de correspondance qu'avec des séquences de caractères. En outre, si
on utilise l'instruction LIKE avec un signe pourcent (%) avant et après la
chaîne recherchée, on génère une analyse de table très longue. La plupart
des utilisateurs ont besoin de fonctions de recherche plus avancées, produisant
des résultats immédiats après qu'ils aient appuyé sur la touche Entrée.
Avec SQL Server 7.0 et les versions ultérieures, on peut toujours utiliser l'instruction
LIKE si on le souhaite, mais on peut désormais aussi utiliser une nouvelle
option de syntaxe et indexer les données.
Au lieu d'utiliser les index stockés dans la base de
données, le moteur de recherche documentaire utilise Microsoft Search Service
pour répertorier ces index sur le disque dur du serveur. Lorsqu'on sélectionne
l'option Full-Text Search dans la Configuration personnalisée de SQL Server, le
processus d'installation installe automatiquement Microsoft Search Service.
Toutefois, ce service n'est disponible que pour les systèmes Standard et
Enterprise sous Windows 2000 ou Windows NT, et non dans les versions poste de
travail ou Windows 9x. Microsoft Search Service intègre deux fonctions
distinctes : conception et peuplement du catalogue de recherche
documentaire, et traitement de la recherche.
Pour installer le moteur de recherche documentaire après
avoir installé SQL Server, il faut réexécuter l'installation à partir du
CD-ROM de SQL Server 7.0. Dans la boîte de dialogue Select Components
(Sélectionner les composants), sélectionnez L'option Full-Text Search, comme
cela est indiqué dans la figure 1, puis redémarrez. Seul SQL Server 7.0
fonctionnant sous NT Server prend en charge la recherche documentaire.
L'environnement NT Server Enterprise Edition clusterisé ne supporte pas encore
la fonction de recherche documentaire de SQL Server. De fait, Microsoft prendra
en charge cette fonction dans un environnement clusterisé dans SQL Server 2000.
Imaginez que vous pouvez construire la maison de vos rêves. Pas de problème de
budget, mais vous voulez emménager le plus vite possible. Dans ce cas, il vous
faudra choisir entre avoir la perfection avant d'emménager et prendre possession
de la maison le plus vite possible. Vous prendrez probablement du temps pour concevoir
les fondations et les pièces essentielles, quitte à ajouter une aile ou à aménager
les combles par la suite.
Le processus d'évolution de SQL Server ressemble un peu à la construction de cette
maison. Il y a plusieurs années, Microsoft a réuni plusieurs des meilleurs spécialistes
mondiaux des bases de données (de Microsoft et d'ailleurs) et leur a demandé de
créer la base de données de leurs rêves. On peut considérer SQL Server 7.0 comme
les fondations de ce projet.
Le code de SQL Server 7.0 comportait des évolutions majeures par rapport au code
de base mais les DBA et les développeurs ne pouvaient pas voir ou utiliser de
nombreuses améliorations. Microsoft SQL Server 7.0 comportait de nombreuses améliorations
visibles (telles que les services OLAP), mais la plupart des efforts de reengineering
se situait au niveau de la page ou du stockage. J'ai découvert SQL Server 2000
à la conférence SQL Server Most Valuable Professional (MVP) de Microsoft en octobre
dernier.
Les premiers briefings portaient principalement sur l'architecture interne et
je suis reparti avec un tuyau important : SQL Server 2000 s'appuie sur les fondations
de SQL Server 7.0 et rénove une partie de la plomberie et du réseau électrique.
En fait, à bien des égards, SQL Server 2000 c'est la maison terminée, la grande
extension et les salles de projection privées dont vous avez toujours révées.
par Patrick Cross et Saeed Rahimi
Appuyez-vous sur la technologie des référentiels de données pour offrir aux utilisateurs
les meilleures sources d'informations stratégiques possibles
Ces quelques dernières années, les meilleures pratiques en matière d'entreposage
de données (data warehousing) impliquent l'utilisation d'un référentiel pour stocker
des informations sur les données contenues dans l'entrepôt. Les informations du
référentiel permettent à l'utilisateur de mesurer l'impact des modifications,
de suivre et de gérer les problèmes, et de mieux appréhender les données qu'ils
utilisent pour prendre des décisions stratégiques. Microsoft Repository est un
élément important de la stratégie Microsoft en matière de data warehousing. Avec
les exemples suivants, vous comprendrez et utiliserez le référentiel de façon
plus efficace.
par John D. Lambert
Les procédures de transfert-delta peuvent vous apporter le meilleur de la réplication
sans les coûts associés
SQL Server 7.0 rend la réplication plus simple que jamais mais, pour maximiser
votre expertise, envisagez toutes les possibilités. On peut utiliser les assistants
de réplication, DTS (Data Transformation Services), l'interface SQL-DMO (SQL Distributed
Management Objects) et même du code binaire.
Toutefois, si vous êtes déjà un utilisateur chevronné de T-SQL, pensez à apprendre
à utiliser des procédures cataloguées personnalisées pour copier les données.
Dans le présent article, je tente d'expliquer comment et dans quelles circonstances
utiliser cette méthode.
par Baya Pavliashvili
Les éditeurs convertis en abonnés et les abonnés convertis à leur tour en éditeurs
Les fonctions avancées de réplication de SQL Server permettent de synchroniser
les données de plusieurs bases de données, que celles-ci résident sur le même
serveur ou non. Mais pourquoi pas simplement sauvegarder les bases de données
et les restaurer ensuite sur un autre serveur, ou utiliser DTS (Data Transformation
Services) pour transférer les tables et données ? Si on travaille sur des bases
de données accessibles uniquement en lecture, ces techniques conviennent parfaitement.
Mais qu'en est-il si on a une base de données transactionnelle (OLTP) de grande
taille (100 Go ou plus) gérant une centaine de transactions ou plus par minute
? Ou alors, que faire si on a plus de 1.000 utilisateurs exécutant des instructions
Select, Insert, Update et Delete au moins 8 heures par jour ? Dans ce contexte,
effectuer des sauvegardes suivies de restaurations toutes les 10 minutes (ce qui
aurait pour effet de verrouiller les tables et déclencher des appels d'utilisateurs
irrités) est inacceptable. En outre, l'utilisation de DTS ou de bcp (bulk copy
program) pour transférer autant d'informations à chaque fois que l'on souhaite
synchroniser des bases de données n'est pas viable ; le transfert nécessiterait
beaucoup trop de temps.
Même si la réplication n'accélère pas le transfert des données, elle permet cependant,
d'effectuer ce dernier d'un serveur à un autre en une seule opération, puis de
répercuter les modifications sur les autres bases de données. En d'autres termes,
la réplication peut représenter la solution idéale pour transférer des données
si on recherche un juste milieu entre la propagation des données sur différentes
machines et la disponibilité de ces mêmes données.
SQL Server 7.0 passe à la vitesse supérieure en matière de réplication
et de facilité d'emploi SQL Server 6.0 a apporté le support de la réplication, et SQL Server 6.5 a
rajouté des améliorations mineures. Pour sa part, SQL Server 7.0 passe à la vitesse
supérieure en matière de réplication et de facilité d'emploi. En effet, SQL Server
7.0 va bien au delà d'une photographie instantanée des données et de la réplication
transactionnelle standard pour supporter la réplication bidirectionnelle (ou un
abonnement avec mise à jour instantanée) et la réplication par fusion. Cette version
permet également de répliquer des données de et vers des plates-formes non SQL.
De plus, SQL Server 7.0 automatise toutes les tâches de réplication, permettant
ainsi aux administrateurs de configurer et d'administrer la réplication à l'aide
d'assistants, sans écrire une seule procédure cataloguée. A travers les assistants
de réplication, il est même possible de paramétrer SQL Server de manière à écrire
des tâches de nettoyage et d'informer les administrateurs des éventuelles erreurs
par courrier électronique ou pager. Passons en revue les assistants de SQL Server
7.0 en vue de configurer un exemple de solution de réplication avec mise à jour
immédiate. Examinons ensuite, l'action de SQL Server en coulisses pour implémenter
cette solution et pour finir, testons la solution proposée.
par Dusan Petrovic et Christian Unterreitmeier
La définition d'index sur les colonnes de tri peut améliorer les performances
de manière exceptionnelle
Un index approprié peut considérablement améliorer les performances de tri de
SQL Server.
Par exemple, la définition d'un index clusterisé sur une colonne de tri contraint
la base de données à stocker les enregistrements sous forme triée, ce qui permet
d'extraire les données sans avoir à réaliser de tri supplémentaire. Vous noterez
que SQL Server 7.0 et les versions antérieures permettent de créer des index uniquement
en ordre croissant.
Par conséquent, si votre requête nécessite des données dans un ordre décroissant,
il faudra certainement effectuer un tri supplémentaire et utiliser des tables
de travail internes pour générer des données dans l'ordre approprié.
Cependant, SQL Server 2000 permet de créer des index aussi bien dans un ordre
croissant que décroissant.
SQL Server 2000 permet de créer des index aussi bien dans un ordre croissant
que décroissant.
SQL Server 7.0 effectue une opération de tri lorsqu'on utilise la clause ORDER
BY. L'optimiseur de requêtes de SQL Server est également susceptible d'utiliser
une opération de tri pour traiter une requête utilisant les clauses GROUP BY,
DISTINCT ou UNION. En revanche, on peut utiliser l'indicateur d'index FAST pour
éviter le tri des données.
Cela indique à l'optimiseur de requêtes de SQL Server qu'il doit utiliser un index
non clusterisé correspondant à la clause ORDER BY, éliminant ainsi la nécessité
du tri. Observons comment SQL Server gère les clauses GROUP BY, DISTINCT et UNION
pour trier les données, puis analysons comment les différentes techniques d'indexation
peuvent améliorer les performances des requêtes nécessitant des données triées.
par Michael Otey
Cinquième version majeure du système d'exploitation Windows NT, Windows 2000 (W2K)
comprend de nombreuses fonctions avancées lui permettant de concurrencer de très
près les systèmes UNIX, dont la réputation n'est plus à faire en termes de service
de fichiers, d'applications et de bases de données sur le marché des entreprises.
Les améliorations apportées à W2K en matière de réseau et de facilité d'emploi,
en font une meilleure plate-forme pour SQL Server que NT 4.0.
par Paul Burke
Facilitez-vous le commerce électronique et l'interopérabilité grâce au standard
Internet d'échange d'informations
Remarque : Les auteurs ont basé leurs articles SQL Server
2000 sur des versions antérieures à la Bêta 2. Aussi, il se peut que vous
remarquiez quelques différences entre la Bêta 2 et le comportement ou les
interfaces décrits dans cet article. En particulier, veuillez noter que
la fonction vues indexées ne sera disponible que dans SQL Server 2000 Enterprise
Edition. Toutefois, on peut installer Entreprise Edition sur un serveur
NT 4 ou Windows 2000 (W2K). On n'est pas obligé d'utiliser NT 4.0 Enterprise
ou W2K Advanced Server.
L'une des fonctionnalités les plus attendues de SQL Server 2000, le support de
XML, est également l'une des plus floues en termes de valeur pratique immédiate.
Personne n'a échappé au battage médiatique concernant ce langage, qui constituerait
une passerelle entre tous les langages, et presque tous les systèmes de gestion
de bases de données relationnelles (SGBDR) affirment désormais prendre en charge
XML. Mais où, quand et pourquoi utiliser XML ?
XML permet de publier des types de données indépendamment des plates-formes,
facilitant ainsi l'interopérabilité et le commerce électronique
XML, un standard Internet d'échange d'informations, permet de publier des
types de données indépendamment des plates-formes, facilitant ainsi l'interopérabilité
et le commerce électronique. XML sépare également les données des informations
de présentation à l'intérieur des pages Web ; on dispose ainsi d'un moyen standard
pour définir et échanger des données entre applications et bases de données. (L'encadré
"XML, le standard à la mode", décortique les avantages qu'il y a à utiliser XML
pour séparer les données de leur présentation).
En tant que langage de définition de pages, le principal intérêt de XML vient
soit de l'acceptation générale d'un langage particulier, défini dans XML, soit
de l'acceptation générale de XML et de la disponibilité des utilitaires, d'outils
et de l'infrastructure permettant de prendre en charge son utilisation. Même si
XML comporte plusieurs excellents langages définis (tels que BizTalk, DSML [Directory
Services Markup Language], et SOAP [Simple Object Access Protocol]), ce n'est
pas la panacée pour tout le monde, surtout si on travaille dans un environnement
Microsoft pur et dur, et qu'on développe des applications Windows 32 bits. Pour
le transfert de données via un LAN, les ensembles de résultats ADO représentent
le choix évident. Cependant, à l'heure de l'Internet, rares sont les entreprises
qui travaillent en circuit fermé. Et même à l'intérieur des entreprises, il n'est
pas rare de trouver différents types de serveurs, plates-formes ou langages.
Bien que SQL Server 2000 soit la première version de SQL Server à proposer le
support de XML, la fonction de prévisualisation XML de Microsoft fonctionne avec
les versions 7.0 et 6.5. (on peut télécharger cette fonction de prévisualisation
depuis le site Web SQL Server de Microsoft, à l'adresse suivante : http://msdn.microsoft.com/workshop/xml/articles/xmlsql/).
On peut également intégrer le support de XML dans SQL Server 7.0, 6.x et 4.2 en
créant des procédures cataloguées étendues et des procédures cataloguées standard,
quoique les procédures cataloguées standard puissent faire baisser les performances
pour des ensembles de données de grande taille et de structure complexe. En outre,
certaines fonctionnalités de SQL Server 7.0, telles que la recherche documentaire
sur texte intégral, permettent de stocker du code XML comme du texte. Quelles
sont alors les fonctions qui rendent SQL Server 2000 officiellement compatible
XML ?
En général, on peut demander deux sortes de XML à une base de données : le XML
statique, stocké dans la base de données, et le XML dynamique, généré par les
données présentes dans la base de données. Même la première version d
Lire l'article
Comment tout savoir sur SQL Server 2000
La nouvelle version atteint de nouveaux sommets
Remarque : Les auteurs ont basé leurs articles SQL Server 2000 sur des versions
antérieures à la Bêta 2. Aussi, il se peut que vous remarquiez quelques différences
entre la Bêta 2 et le comportement ou les interfaces décrits dans cet article.
En particulier, veuillez noter que la fonction vues indexées ne sera disponible
que dans SQL Server 2000 Enterprise Edition. Toutefois, on peut installer Entreprise
Edition sur un serveur NT 4 ou Windows 2000 (W2K). On n'est pas obligé d'utiliser
NT 4.0 Enterprise ou W2K Advanced Server.
Imaginez que vous ayez la possibilité de construire la maison de vos rêves, dans
laquelle vous projetez d'élever vos enfants au cours des 20 prochaines années.
L'argent n'est pas un problème, mais vous voulez emménager le plus tôt possible.
Dans ce cas, vous allez être obligé de faire des concessions, et de choisir entre
avoir une maison parfaitement aménagée avant d'y habiter et pouvoir y emménager
le plus tôt possible. Vous allez passer du temps à concevoir soigneusement les
pièces principales de la maison, sachant que vous pourrez toujours terminer le
sous-sol ou rajouter une grande terrasse après avoir emménagé. Comparons ce processus
à la construction de SQL Server.
Il y a plusieurs années, Microsoft a regroupé les meilleurs spécialistes de la
conception des bases de données à travers le monde (internes et externes à Microsoft)
et leur a demandé de bâtir la base de données de leurs rêves. Considérez SQL Server
7.0 comme le résultat fondamental de ces efforts. SQL Server 7.0 est une réécriture
importante du code de base, mais les administrateurs de bases données et les développeurs
ne pouvaient pas voir ni toucher beaucoup de ces améliorations. En effet, SQL
Server 7.0 apporte une kyrielle de nouvelles fonctionnalités importantes (comme
les services OLAP). Mais une grande partie du réingéneering du noyau se situe
au niveau de la gestion des pages et de la mémoire. Pour la première fois en Octobre
1999, j'ai vu SQL Server 2000 lors de la conférence MVP (Most Valuable Professional)
de Microsoft.
Les premiers séminaires couvraient l'architecture interne des moteurs relationnels
et de la mémoire, et je suis reparti avec le sentiment très fort que SQL Server
2000 s'appuie sur les fondations de SQL Server 7.0 et y rajoute "la plomberie
et l'électricité". A bien des égards, SQL Server 2000 ressemble à ce sous-sol
terminé, cette énorme terrasse et ce studio de projection personnel dont vous
avez toujours rêvé.
Il peut désormais rivaliser d'égal à égal avec n'importe quelle plate-forme
de base de données concurrentes
Améliorez les performances base de données avec l’assistant d’optimisation des index
par Itzik Ben-Gan
En utilisant des index appropriés, les requêtes deviennent plus performantes qu'elles
ne l'ont jamais été
Avez-vous créé des index optimisés pour votre base de données ? Avez-vous pensé
à utiliser les meilleurs index de tables clusterisés ? Avez-vous déterminé quels
index peuvent améliorer les performances des requêtes ? Le choix du meilleur index
clusterisé pour une table base de données principale constitue l'un des problèmes
les plus ardus que rencontrent les administrateurs de bases de données.
Toutefois, le choix des meilleurs index non clusterisés n'est pas non plus très
aisé. En effet, cela impose de prendre en considération la distribution statistique
des données, les différentes techniques utilisées par l'optimiseur de requêtes
pour concevoir un plan d'exécution efficace, ainsi que le nombre de sélections
et de modifications effectuées par les utilisateurs sur la base de données pour
ne pas créer d'index superflus.
Les développeurs SQL Server 7.0 disposent déjà de SQL Profiler, un outil
inestimable permettant de suivre les requêtes
Ne serait-il pas idéal de disposer d'un outil capable d'analyser les requêtes
effectuées sur sa base de données et de recommander les index à créer ? Et bien
coup de chance. Les développeurs SQL Server 7.0 disposent déjà de SQL Profiler,
un outil inestimable permettant de suivre les requêtes effectuées sur une base
de données. On peut enregistrer le résultat de Profiler dans un fichier, une table
ou un script SQL. On peut ensuite analyser ce résultat à l'aide d'un autre outil
de SQL Server 7.0, l'assistant d'optimisation d'index ou Index Tuning Wizard (ITW),
lequel recommande les index à concevoir.
Pour s'assurer que l'ITW donne des indications efficaces, il faut assurer un suivi
des requêtes pendant une période d'activité type sur le système (et non une période
d'activité exceptionnellement intense ou faible ni une période où se produisent
des activités exceptionnelles). Il faut également décider pendant combien de temps
Profiler doit suivre les requêtes. On peut par exemple avoir une représentation
caractéristique de l'activité du système, en ne faisant une trace avec Profiler
que durant quelques heures. Ou alors, il faudra effectuer un suivi sur quelques
jours ou plus pour capturer les variations d'activité en cours de journée ou sur
plusieurs jours.
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.