
7 étapes pour le cryptage SSL
par Gary Zaika - Mis en ligne le 21/01/2004
Instaurez le cryptage automatique dans un environnement SQL Server 2000 en cluster
Dans SQL Server 2000, Microsoft a
introduit de nouvelles fonctions pour
apporter toujours plus à ses clients en
matière de sécurité des données. A cet
égard, il existe une fonction peu comprise
: le support automatique du trafic
de réseau crypté par SSL ( Secure
Sockets Layer) entre les clients et le
serveur.
Dans SQL Server 2000, Microsoft a
introduit de nouvelles fonctions pour
apporter toujours plus à ses clients en
matière de sécurité des données. A cet
égard, il existe une fonction peu comprise
: le support automatique du trafic
de réseau crypté par SSL ( Secure
Sockets Layer) entre les clients et le
serveur. Certes, le cryptage ralentit légèrement
la performance parce qu'il
demande des actions supplémentaires
des deux côtés de la connexion réseau.
Mais, pour les utilisateurs soucieux de
sécuriser leurs communications en
réseau, les avantages du cryptage l'emportent
largement sur ce léger ralentissement.
Le cryptage est particulièrement
utile quand les clients se
connectent au SQL Server par Internet
et que les données empruntent des réseaux
publics.
Le cryptage SSL est devenu un
standard : c'est celui que la plupart des
entreprises utilisent pour leurs applications
Internet et e-commerce. Il existe
deux niveaux de cryptage SSL, 40 bits
et 128 bits, qui offrent différents types
de protection. SQL Server 2000 gère
les deux niveaux de cryptage. Pour
faire fonctionner le cryptage SSL, vous
devez obtenir une clé (ou certificat) valide
auprès d'une CA (Certificate
Authority) de confiance ou trusted.
Après avoir installé le certificat sur un
système qui utilise SQL Server 2000,
vous pouvez configurer SQL Server
pour qu'il impose le cryptage entre les
clients et le serveur. Windows 2000 est
livré avec son propre CA utilisable pour
des applications intranet. La plupart
des sociétés utilisent des CA tierce partie
pour les applications Internet. (Pour plus d'informations sur les CA,
voir l'encadré « Principes de base du
CA », ci-après).
Le cryptage SSL est différent du
cryptage Multiprotocol Net-Library que
l'on trouve dans les releases SQL
Server antérieures à SQL Server 2000.
Le cryptage SSL supporte toutes les bibliothèques
et protocoles de réseau, y
compris les types les plus répandus :
TCP/IP et Name Pipes (pour des installations
en cluster, seules ces deux bibliothèques
de réseau sont disponibles).
Vous pouvez aussi utiliser le
cryptage SSL pour des instances multiples
de SQL Server, alors que le
cryptage Multiprotocol Net-Library qui
utilise l'API de cryptage Windows RPC,
ne reconnaît que l'instance par défaut
de SQL Server 2000. Le client ou le
serveur (mais pas les deux) peut demander le cryptage SSL. Le cryptage
demandé par le client précise que
toutes les communications allant de ce
client à tous les serveurs connectés seront
cryptées. Le cryptage demandé
par le serveur stipule que toutes les
connexions entrant dans le serveur seront cryptées puis décryptées sur
celui-ci.
Il est plus difficile de configurer le
cryptage pour des instructions en cluster
que pour un serveur autonome.
Beaucoup de sources expliquent comment
installer le cryptage SSL sur une seule boîte, mais il est plus difficile de
trouver des informations sur l'installation
du cryptage SSL dans un environnement
en cluster. Malheureusement,
SQL Server Books Online (BOL) ne
renseigne pas beaucoup sur la manière
de configurer le cryptage SSL et ne fait
qu'effleurer les exigences de configuration
pour un environnement en cluster.
Il faut aussi chercher à l'extérieur
de BOL pour obtenir des informations
sur la manière d'installer les certificats
d'authentification appropriés. Mais,
avec des instructions claires, la mise en
place du cryptage SSL s'effectue sans
mal. Voyons en détail comment installer
le cryptage SSL dans un environnement
en cluster pour une société fictive
appelée IDM.

Testez par unités vos procédures stockées
par Dan Sawyer - Mis en ligne le 21/01/2004
Mettez en forme votre code de procédure
Imaginez ceci : vous venez juste de finir
le débogage de la dernière procédure
stockée pour la dernière application
SQL Server du département.
Etes-vous satisfait de votre travail ? Etesvous
certain que votre code T-SQL sera
à la hauteur des attentes des utilisateurs
? Quid des fonctionnalités que
vous avez placées dans le code ? ...
Imaginez ceci : vous venez juste de finir le débogage de la dernière procédure stockée pour la dernière application SQL Server du département. Etes-vous satisfait de votre travail ? Etesvous certain que votre code T-SQL sera à la hauteur des attentes des utilisateurs ? Quid des fonctionnalités que vous avez placées dans le code ? Avezvous couvert tous les aspects de la gestion ? Chaque fonction tient-elle ses promesses comme prévu dans tous les scénarios d'exploitation normaux?
Même si vous pouvez répondre par
oui à toutes ces questions, le moment
de relâcher votre effort n'est pas encore
venu. Qu'en est-il des suites possibles
? Avez-vous testé les conditions
d'erreur courantes qui ont causé des
problèmes par le passé ? Et qu'en est-il
des gestionnaires d'erreurs ? Sont-ils eux-mêmes impeccables ? Si vous vous
sentez faiblards dans l'un de ces domaines,
il vaut peut-être mieux réévaluer
la manière dont vos procédures
stockées sont testées par unités.
Contrairement aux tests système
que les testeurs professionnels effectuent
après qu'une application ait été
entièrement codée, le test par unités
recherche les erreurs dans des modules
individuels, comme les procédures
stockées, tout au long du développement
de ces modules. Le test par
unités n'est pas difficile mais, pour être
efficace, il exige du planning, de la documentation
et, par-dessus tout, une
compréhension partagée de certains
principes de base. Donc, avant de plonger
dans le processus de test, commençons
par dissiper quelques préjugés
courants sur le test par unités, qui nuisent
souvent à son efficacité.

Audit des bases de données MS SQL Server 7 et 2000
iNetsoft propose un outil pour l'audit des bases de données MS SQL Server 7 et 2000 : OmniAudit de l'éditeur américain Krell Software.
OmniAudit permet d'identifier de manière automatique et transparente toutes les modifications apportées aux données dans vos bases de données Microsoft SQL Server 7.0 ou 2000.
Lire l'article
Dénicher des profils et des tendances
par Christine Y. Mato et Greg Meyer - Mis en ligne le 17/03/2004
Une application géologique de data warehousing et de data mining avec
SQL Server 2000
Pour notre master's degree program
en Management of Information Systems,
nous avons dû réaliser un projet
d'analyse visant à apprendre les
nuances du data mining en utilisant
des données « réelles ». Notre travail
précédent utilisait des données qui
avaient été nettoyées afin que les
élèves utilisateurs obtiennent tous les
mêmes résultats...Notre école avait
choisi SQL Server 2000 parce qu'il offre
la fonctionnalité d'une base de données
d'entreprise associée à un faible
prix et à une maintenance facile. Nous
étions libres de choisir le sujet d'analyse.
Beaucoup d'autres élèves ont
choisi les analyses de marketing ou de
vente, mais comme nous avions un bagage
de sciences naturelles, nous
avons préféré les données géologiques
et biologiques. En créant un data warehouse
et en y pratiquant le data mining,
nous avons constaté que SQL
Server 2000 fournit un moyen rapide
pour observer statistiquement les données
géologiques.
Les scientifiques du monde entier
amassent sans cesse de grandes quantités
de données géologiques. C'est à
partir de ces sources que nous avons
obtenu nos données échantillon.
Comme SQL Server est plus facile à utiliser
que la méthodologie statistique traditionnelle, nous avons décidé de
rassembler les sources de données
existantes dans un data warehouse
SQL Server. Nous avons dû aussi utiliser
SQL Server pour vérifier les analyses
originales des données géologiques,
qui avaient été effectuées par
des méthodes statistiques usuelles.
Nous avons construit deux data warehouses
à partir de deux sources de
données géologiques différentes. Ces
sources étaient comparativement petites
parce que notre projet était académique
; mais nous pensons que les
constatations garderaient toute leur
pertinence quelle que soit la taille de
l'ensemble de données. Un ensemble
de données constitué de plus de 20 fichiers
provenait d'une étude de
Eastern Continental Shelf qui avait été
collectée et analysée par le United
States Geological Survey (USGS) entre
1955 et 1970. La seconde base de données
contenait les résultats d'une
étude des effets de la décomposition
de l'enfouissement de six espèces de
bois différentes aux Bahamas et dans le
Golfe du Mexique. La quantité de bois
qui se conserve ou se désagrège dans
l'eau dans le monde est phénoménale.
La décomposition du bois produit des
gaz à effet de serre, mais ce phénomène
cesse quand le bois est enfoui.
Cette étude est intéressante parce
qu'elle procure aux scientifiques des
informations supplémentaires précieuses
sur les sources d'émission
d'hydrocarbures dans notre atmosphère.


Beaucoup d’ADO pour rien
par William Vaughn - Mis en ligne le 17/03/2004
Parmi les moyens que les développeurs
désirent le plus, on trouve une
manière éprouvée de déterminer les
meilleurs moyens pour tester et établir
des valeurs NULL dans leurs applications
- quel que soit leur langage.Par
exemple, quand ils doivent signifier
que les dates DateShipped et Date-
Died ont été atteintes et ne sont pas
connues, la plupart des développeurs
de bases de données relationnelles
doivent définir ces données et d'autres
colonnes de données similaires pour
permettre des valeurs NULL. A noter
qu'une valeur NULL dans une colonne
de données n'est pas la même chose
qu'une chaîne vide ou NULL ou tout
autre occupant qui peut servir à montrer
que la valeur n'est pas connue. Le
langage que vous utilisez peut traiter
une chaîne vide ou une valeur placeholder
(comme Unknown) comme
une chaîne ou une valeur valide et
peut stocker un NULL comme une valeur
« connue » dans la base de données.
Le concept de l'état NULL existe
dans les bases de données relationnelles
depuis leur création et les NULL
ont toujours suscité un traitement spécial.
Sans trop m'étendre sur la pertinence
qu'il y a à utiliser des NULL, j'estime
que NULL est un meilleur
placeholder que BHOM (Beats the
Hell Out of Me) que j'utilisais quand
j'enseignais la programmation dans
l'armée US.
En ADO classique, les développeurs
sont confrontés à des valeurs
NULL parce qu'ils ne peuvent pas attribuer
un NULL à une variable numérique,
une chaîne, la propriété Value
d'un contrôle TextBox, ou tout
contrôle qui n'accepte un type de données
variant (que l'on peut mettre à
NULL). Si l'on oublie de traiter les valeurs
NULL et si l'on essaie d'attribuer
un NULL à un contrôle TextBox, Visual
Basic (VB) 6.0 émet un message d'erreur
Invalid Use of NULL (94). Mais
ADO.NET et Visual Basic .NET prennent
mieux en charge les valeurs NULL.
Quand on travaille avec le CLR
(Common Language Runtime) et les
langages .NET, ADO.NET permet de
stocker, de définir, et de tester des valeurs
NULL de diverses manières -
beaucoup plus qu'avec ADO classique.
Cet article utilise Visual Basic .NET
pour présenter la façon dont ADO.NET
et Visual Basic .NET traitent la valeur
NULL.

Diviser et conquérir
par Edward Whalen, Geoff Langos et Alexander Stamenkovich - Mis en ligne le 26/11/2003
Reconception architecturale + réplication transactionnelle = performance écrasante
Les DBA savent que le premier pas,
pour déterminer la viabilité et la capacité
à long terme d'un système, consiste à effectuer
des mesures de supervision des
performancesLes DBA savent que le premier pas,
pour déterminer la viabilité et la capacité
à long terme d'un système, consiste à effectuer
des mesures de supervision des
performances. C'est dans cet esprit que,
voilà plusieurs années, nous avons conçu un programme chargé de suivre les variations
des performances dans le système
de traitement d'un centre d'appel
sous Windows NT et SQL Server 7.0. Au
début, nous avons constaté que le
Performance Monitor nous donnait bien un programme chargé de suivre les variations
des performances dans le système
de traitement d'un centre d'appel
sous Windows NT et SQL Server 7.0. Au
début, nous avons constaté que le
Performance Monitor nous donnait bien long terme en prenant des instantanés
chaque demi-heure de certaines mesures
comme l'utilisation de la CPU et
des I/O, le nombre d'utilisateurs et de
processus, les traitements de commandes,
et les transactions. Nous avons
rangé ces mesures dans une base de
données SQL Server. L'année où nous
avons commencé notre programme de
supervision, nous n'avons recueilli les
données que pour quelques mois consécutifs.
Et constaté ainsi que les données
glanées pendant une période aussi
courte ne produisaient que des informations
à court terme: trop peu de points
de données pour dessiner une tendance.
En revanche, l'année suivante, quand nous avons supervisé des tranches de
temps plus longues, les données recueillies
ont révélé des tendances significatives.
En une année, nous avons observé
une hausse inquiétante de
l'utilisation de la CPU que nous avons attribuée
à une augmentation des fonctions
applicatives personnalisées dans le
centre et à l'ajout de nombreux utilisateurs
du système.

WINSIGHT, pour le décisionnel
WINSIGHT, spécialiste français du Décisionnel en environnement Microsoft, annonce ReportSmith.Net.
WINSIGHT a obtenu la certification Microsoft Gold Certified Partner for Business Intelligence en France. La société ajoute un nouveau produit à sa gamme de logiciels OLAP WEBHOUSE : ReportSmith. Net.
Lire l'article

Plongez au coeur de « BizTalk Server 2004 » avec ce White Paper exclusif de Chappell & Associates !
"Comprendre BizTalk Server 2004" est un White Paper en Français signé de David CHAPPELL de Chappell & Associates, San Francisco, Californie. Son tout dernier ouvrage de référence, Understanding .NET, a été publié par Addison-Wesley en 2002. Découvrez maintenant ce White Paper !
Lire l'article
Faire dialoguer ses applications avec BizTalk Server
SPECIAL REPORT : MICROSOFT BizTalk Server
Automatiser ses processus métier, fiabiliser ses échanges applicatifs, ouvrir son système d’information vers l’extérieur : Microsoft BizTalk Server tient toutes les promesses de l’EAI en jouant le rôle de chef d’orchestre des échanges inter applicatifs de l’entreprise et des partenaires extérieurs.Le système d’information des entreprises est constitué de nombreuses applications « spécifiques » ou progiciels de gestion intégrés (ERPs) bâtis sur des technologies disparates. Dans le passé, lors d’un développement d’une nouvelle application, une grande partie du travail des services informatiques consistait à développer des interfaces pour soutenir l’échange des informations entre applications. En permettant de faire communiquer ces applications entre elles, l’EAI -Intégration des Applications d'Entreprise- a totalement changé la donne. Mais pourquoi faire communiquer les applications ? Tout simplement parce qu’elles sont excessivement liées entre elles. Si une application de CRM répond à un besoin fonctionnel précis lié à la relation client, elle nécessite cependant des informations générées par d’autres applications, comme la comptabilité client, la gestion des stocks, le support technique.
Dans un contexte de réseau local, cette communication inter applicative peut se gérer plus ou moins facilement. Mais dès que le système d’information s’ouvre sur l’extérieur, vers les partenaires commerciaux (BtoB) ou qu’il est réparti sur de multiples sites, le problème se corse.



Outils client pour Analysis Services
par l'équipe OLAP d'ASPIRITY - mis en ligne le 19/05/2003
En 1996, Microsoft a fait son entrée
dans le monde de l'analyse online en
acquérant la technologie de la société
israélienne Panorama Software. Sous le
nom d'OLAP Services, cette technologie
est devenue partie intégrante de
SQL Server 7.0 en 1999. Dans SQL
Server 2000, le produit a été étendu et
rebaptisé Analysis Services. Le dernier produit d'analyse est un puissant fournisseur
d'OLAP (online analytical processing),
mais dépourvu d'un outil
client pour consulter, présenter ou
analyser des données. Les clients qui
veulent utiliser Analysis Services sans
écrire un navigateur client maison doivent
par conséquent trouver une application
client du commerce adéquate.
Pour aider les lecteurs à choisir l'application
client la mieux adaptée à leurs
besoins, nous avons comparé cinq de
ces produits. Après qu'au moins deux
consultants aient évalué chaque outil,
nous avons rapproché et récapitulé les
conclusions. Nous nous sommes aussi
assurés qu'au moins l'un des examinateurs
de chaque outil l'avait utilisé dans
un vrai contexte client.

L’outil Database Hammer
par Joseph Isaac Sack - Mis en ligne le 19/05/2003
Je travaille comme administrateur
de base de données (DBA) sous
contrat dans une grande société de
recherche et de fabrication. Mon
manager m'a récemment demandé
de trouver la meilleure configuration
de base de données pour notre
nouveau grand SAN (Storage Area
Network) RAID 5. Le fournisseur du
SAN n'avait pas de documentation
quant aux recommandations de placement
de fichiers base de données
SQL Server 2000 ou aux meilleures
pratiques. Il fallait donc faire un test
pour voir si en plaçant les fichiers de
données et les fichiers log sur des
partitions SAN RAID 5 séparées, les
performances étaient meilleures
qu'en plaçant les deux fichiers sur
une partition SAN RAID 5 unique.
En règle générale, le fait de placer
les fichiers base de données et log
sur des matrices séparées (RAID 5
ou RAID 10 pour les données et
RAID 1 pour le log) améliore la performance.
Comme SQL Server écrit
séquentiellement dans le fichier log
de transactions, et aléatoirement
dans les fichiers de données, la séparation
des fichiers réduit le risque
de contention de lecture ou d'écriture
simultanée.


Evitez la zone rouge
par Gregory A. Larsen - Mis en ligne le 26/11/2003
Suivez ce processus en 2 étapes pour suivre et surveiller l'utilisation des disques
Vos clients ou managers vous ont-ils
jamais demandé de combien leurs
bases de données avaient grandi au
cours de l'année écoulée ? Avez-vous
dû prévoir la capacité disque nécessaire
pour la prochaine année d'après
le taux de croissance moyen de la base
de données au cours des 12 derniers
mois ?Vos clients ou managers vous ont-ils
jamais demandé de combien leurs
bases de données avaient grandi au
cours de l'année écoulée ? Avez-vous
dû prévoir la capacité disque nécessaire
pour la prochaine année d'après
le taux de croissance moyen de la base
de données au cours des 12 derniers
mois ? Compte tenu du présent taux de
croissance, combien de temps durera
votre espace disque non alloué actuel ?
Pour répondre à ce genre de questions
sur la croissance de la base de données
ou sur l'espace disque, il faut disposer
d'un historique de l'utilisation de l'espace
touchant à vos bases de données.
J'ai créé un processus qui vous permettra
de collecter automatiquement
des statistiques d'utilisation de l'espace
pour chacune de vos bases de
données. Muni de ces chiffres, il vous
sera facile d'effectuer un simple calcul
de taux de croissance.
Voilà quelques mois, j'ai décidé
d'élaborer un processus de capture
d'informations sur l'utilisation de l'espace
disque pour chaque base de données
d'un système, afin d'en suivre la
consommation au fil du temps. Je voulais
connaître la quantité d'espace allouée
et utilisée pour les fichiers de
données et de journalisation. En fait, je
recherchais la même information que
celle que l'on voit dans le panneau
Database Details d'Enterprise Manager
quand on consulte l'information Space
Allocated, mais il me fallait cette information
en code T-SQL. En utilisant
SQL Server Profiler, j'ai constaté
qu'Enterprise Manager obtient des informations
sur l'espace alloué en utilisant
deux instructions DBCC. La première,
SQLPERF, est documentée ; la
seconde, SHOWFILESTATS, ne l'est
pas. En exécutant manuellement
DBCC SHOWFILESTATS sur chaque base de données et en comparant la
sortie obtenue avec celle qu'Enterprise
Manager affichait, j'ai vu que cette
commande me fournirait l'information
sur l'espace disque par base de données.
SQL Server 2000 et SQL Server 7.0
utilisent tous deux ces instructions
DBCC pour peupler l'écran Space
Allocated d'Enterprise Manager.
L'instruction DBCC SQLPERF(LOGSPACE)
renvoie des informations sur
l'espace de journalisation des transactions
- la taille du journal allouée pour
chaque base de données en méga-octets
et le pourcentage d'espace de
journalisation utilisé pour chaque base
de données - et ce pour toutes les
bases de données. Un simple calcul
permet de convertir facilement le
pourcentage de l'espace journal utilisé,
en méga-octets. Cette instruction
DBCC m'a aidé à connaître l'espace de
fichier log que je voulais suivre.
J'ai utilisé l'instruction DBCC
SHOWFILESTATS non documentée
qui donne des informations sur l'utilisation
de l'espace pour les données
d'une base de données, pour obtenir
le reste des statistiques d'espace
disque souhaité. Cette instruction renvoie
un enregistrement par fichier de
données physique. Chaque enregistrement
statistique ainsi obtenu occupe
six colonnes : Fileid, FileGroup,
TotalExtents, UsedExtends, Name et
FileName. On peut utiliser la colonne
TotalExtents pour déterminer l'espace
total alloué aux données et la colonne
UsedExtents pour déterminer l'espacetotal utilisé pour les données. En additionnant
les valeurs TotalExtents et
UsedExtents de tous les fichiers d'une
base de données, puis en convertissant
le nombre d'extensions en méga-octets,
j'ai calculé l'espace total alloué
aux données et l'espace total utilisé
pour elles. Ces calculs m'ont fourni
l'information d'utilisation de l'espace
que je voulais suivre dans le temps. La
figure 1 montre un exemple de sortie
de la commande DBCC SHOWFILESTATS
après qu'on l'aie appliquée à la
base de données maîtresse.
J'ai intégré ces deux instructions
DBCC dans un processus qui collecte
l'information d'espace par base de
données. Il s'exécute périodiquement
et enregistre les statistiques sur l'utilisation
de l'espace dans une table de
base de données. Le processus est
constitué d'un job SQL Server Agent
qui contient deux étapes. La première
exécute une procédure stockée nommée
u

SQL Server Magazine : Offre spéciale de lancement
Il y a quelques jours, est paru le dernier numéro gratuit de SQL Server Magazine.
DBA, DBM, Responsables Bases de données, nous vous avons réservé une offre d'abonnement spéciale.
Certains de votre participation, nous vous donnons rendez-vous pour la prochaine édition de SQL Server Magazine, à paraître fin Septembre 2003.
Dans l'attente de vous compter parmi nos premiers abonnés, transformez l'essai !

Réponses rapides
par William R. Vaughn - Mis en ligne le 24/06/2003
Quand vous voulez consulter votre
base de données, vous commencez par
coder une instruction SELECT qui renverra
une ou plusieurs lignes - un ensemble de lignes - contenant la réponse
à votre question. Parfois, vous
voulez une information exhaustive,
mais parfois, une simple réponse par oui ou non. Si vous demandez « Y a-t-il des places disponibles sur le prochain
vol pour Cleveland ? », vous ne demandez
pas la liste de ces places - mais seulement
s'il y en a de disponibles. Dans
certains cas, vous voulez obtenir un
nombre en réponse à une requête.
Toujours dans notre exemple, vous
pourriez demander le nombre de
places libres sur cet avion pour
Cleveland, parce que vous voulez faire
voyager une équipe de football. Là encore,
une telle réponse n'a pas besoin
de SQL Server pour renvoyer un ensemble
de lignes. Bien entendu, ces requêtes
sont bien incapables de juger
de la pertinence d'aller à Cleveland : il
faudrait pour cela un système bien plus
sophistiqué que tout SGBD connu.

Droit au but avec ADO .Net
par Burton Roberts - Mis en ligne le 24/06/2003
Un rapport tabulaire, ou en colonnes,
présente l'information dans
des lignes, comme celles d'une base de
données. Les en-têtes de colonnes
d'un rapport tabulaire correspondent
aux noms des colonnes de la table. Un
rapport à tabulation croisée (crosstab
en raccourci) est une matrice ou une
feuille de calcul à deux dimensions qui
a des critères de recherche horizontaux
dans les en-têtes de colonnes et
verticaux dans les en-têtes de lignes, à
gauche. Les données que vous recherchez
- généralement résumées par
une fonction d'agrégation comme
SUM(), AVERAGE() ou COUNT() - occupent
les cellules intérieures de la matrice.
Les plus consultés sur iTPro.fr
- L’IA dans l’entreprise : questions et pratiques contemporaines
- Être une femme dans la tech en 2025 : comment prendre sa place et évoluer ?
- Les différents types de cyberattaques les plus répandues
- Bilan 2024 de la start-up Nation
- DORA, vecteur d’accélération de la transformation numérique des assureurs
