

Toujours plus sur SQL Server
Trucs et astuces pour SQL Server : Créer une propriété étendue dans SQL Server 2000, Extraire certaines lignes dans un resulset, Se connecter programmatiquement avec l’authentification Windows, Eviter d’utiliser datetime comme clé primaire, Capturer une trace SQL, Changer l’ordre de tri dans SQL Server 7.0, Détacher et rattacher des bases de données, Présenter la taille de colonne d’une table ...
Lire l'article
Log Shipping dans SQL Server 2000 (Partie II)
par Ron Talmage - Mis en ligne le 29/04/2002
Quand votre serveur de base de données de production s'arrête - pour cause de maintenance programmée ou d'événement inattendu - il faut être sûr que la base de données est intacte sur un serveur standby. Une opération log shipping bien conçue, qui transfère les journaux de transactions d'une base de données du serveur primaire sur un serveur standby, peut vous procurer cette confiance ...SQL Server 2000 Enterprise Edition et SQL Server 2000 Developer Edition supportent log shipping comme un utilitaire Enterprise Manager intégré. Le Microsoft SQL Server 2000 Resource Kit est livré avec un ensemble de procédures cataloguées non supporté pour log shipping dans d'autres éditions de SQL Server 2000 (pour plus de détails, voir l'encadré « Log Shipping simple dans SQL Server 2000 Standard Edition »), et le Microsoft BackOffice Resource Kit (BORK) 4.5 offre une méthode non supportée de log shipping pour SQL Server 7.0. Dans l'article « Log Shipping dans SQL Server 2000, 1ère partie », j'ai décrit comment installer, reconfigurer et superviser log shipping. Dans cet article, nous allons voir comment changer les rôles des serveurs primaire et secondaire, comment inverser complètement leurs rôles, et où placer le serveur moniteur pour qu'il soit le plus utile possible.

Log Shipping dans SQL Server 2000 (Partie I)
par Ron Talmage - Mis en ligne le 29/04/2002
Log Shipping augmente la disponibilité d'une base de données SQL Server en copiant et en restaurant les journaux de transactions de la base de données dans une autre base sur un serveur standby. Comme la base de données standby reçoit toutes les modifications apportées à la base de données originale, elle en est le double exact ...... sauf pendant le court laps de temps de l'opération de copie/chargement. Donc, en cas d'indisponibilité du serveur primaire original, on peut transformer le serveur standby en un nouveau serveur primaire. Quand le serveur primaire original redevient disponible, on peut en faire un nouveau serveur standby - et inverser ainsi les rôles des deux serveurs.
Dans les éditions SQL Server 2000 Enterprise et Developer, Microsoft fournit un utilitaire Log Shipping dans Enterprise Manager - dans le cadre du Database Maintenance Plan Wizard. Auparavant, il fallait construire votre propre système Log Shipping ou - dans le cas de SQL Server 7.0 - utiliser les outils de Log Shipping non supportés disponibles dans le Microsoft BackOffice 4.5 Resource Kit. Le nouveau wizard facilite les opérations de préparation, configuration et supervision du Log Shipping de SQL Server 2000. (Pour vérifier les détails techniques de cet article, j'ai utilisé SQL Server 2000 Enterprise Edition avec Service Pack 1 - SP1. Néanmoins, d'après la liste de corrections, SP1 ne corrige aucun des bogues associés au log shipping.)

Les fondations du futur
Une interview exclusive de Gordon Mangione, vice-président de SQL Server, à propos de l'avenir et du présent de SQL Server 2000, de l'implémentation de XML dans les systèmes de gestion de base de données, des problèmes d’évolutivité associés à ADO.NET.Tout à fait chez lui dans un bureau le long du même hall où il a commencé sa carrière chez Microsoft voilà 10 ans, Gordon Mangione dirige une équipe SQL Server qui est au coeur de la stratégie .NET de Microsoft. A peine sorti du rôle de vice-président de l’équipe Microsoft Exchange Server, Mangione plonge dans sa nouvelle fonction de vice-président de SQL Server. Dans cette interview exclusive, il parle à Systems Journal de la réussite de SQL Server 2000, construisant une fondation pour le futur avec XML et .NET, et ce qu’apportera la nouvelle release de SQL Server, au nom de code Yukon.
Lire l'article
SQL, 10+1 astuces pour la sécurité
par Michael D. Reilly
Les données sont bien protégées par le puissant mécanisme de sauvegarde et de restauration de SQL Server. Si votre stratégie de sauvegarde et de restauration est efficace, sachez qu'en cas de problèmes, vous pourrez redresser la situation avec un minimum d'interruption et de perturbations pour les utilisateurs. Les 11 astuces suivantes permettent de tirer le meilleur parti possible de l'utilitaire de sauvegarde et de restauration qui accompagne SQL Server.
Retrouvez les figures explicatives dans l'édition papier de cet erticle
Lire l'article
Le renouveau des technologies server : les serveurs d’entreprise
par MICHAEL OTEY
Redmond pénètre dans le domaine de l'entreprise.
La nouvelle politique .NET de Microsoft est animée par la stratégie suivante : passer du statut de fournisseur de technologie pour service ou département de taille moyenne, à celui de fournisseur de logiciels et de technologie d'entreprise tous azimuts.
Les produits BackOffice de Microsoft sont jugés simples d'emploi, parfaitement adaptés au créneau départemental, mais dépourvus de l'évolutivité et de l'interopérabilité indispensables pour se hisser au niveau de l'entreprise globale. C'est pour changer cette perception que Microsoft a conçu sa nouvelle gamme d'Enterprise Servers .NET. Au cours de la dernière année, Microsoft a d'ailleurs revitalisé tout son groupe de produits serveurs. On reconnaîtra la plupart des serveurs d'entreprise .NET (.NET Enterprise Servers) comme les dernières versions des produits BackOffice établis, mais d'autres sont entièrement nouveaux.
On trouvera des informations complémentaires sur .NET Enterprise Servers de Microsoft à l'adresse http://www.microsoft.com/servers.

10 astuces de réglage pour 90 % de gains de performances
par Kalen Delaney
La règle des 90/10 pour les performances de SQL Server :
Le réglage de Microsoft SQL Server 2000 et de SQL Server 7.0 pour doper les performances peut être ardu mais, le plus souvent, on peut obtenir d'importants avantages en contrepartie d'un effort minime.

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.

Les fonctions définies par l’utilisateur
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 ![]() Du relationnel au multidimensionnelpar Bob Pfeiffer ![]() L’avenir de SQL Serverpar Brian Moran ![]() Une introduction aux vues indexéespar Karen Delaney
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
|