
Superviser votre environnement SQL Server
par Mark Solomon - Mis en ligne le 18/02/2004
Une solution rudimentaire pour superviser votre environnement SQL Server
Il existe de nombreux outils sympas
pour vous aider à superviser votre
environnement SQL Server. Mais tous,
aussi efficaces soient-ils, coûtent cher.
Superviser le logiciel d'un seul SQL
Server peut coûter des milliers de dollars...Il existe de nombreux outils sympas
pour vous aider à superviser votre
environnement SQL Server. Mais tous,
aussi efficaces soient-ils, coûtent cher.
Superviser le logiciel d'un seul SQL
Server peut coûter des milliers de dollars.
Et les outils de supervision sont souvent accompagnés d'agents qu'il
faut installer sur votre SQL Server et
qui peuvent consommer de 3 à 5 % de
la puissance du traitement du serveur.
En outre, de nombreux outils offrent
des possibilités bien supérieures à vos
besoins. Dans l'hôpital pour enfants où je travaille, notre groupe DBA gère huit
SQL Server et plus de 250 bases de
données. Dans notre cas, où l'information
sur les patients est consultée en
permanence (24 x 7 x 365), il nous faut
une méthode commune pour accéder
aux informations sur l'état de santé de notre environnement SQL Server à
partir de n'importe quel point du réseau.
Ironiquement, la méthode que
nous avons jugée la plus utile pour extraire
les données de performances
courantes et historiques n'est pas un
package de supervision coûteux, mais
provient des outils qui sont présents
dans SQL Server, Windows .NET Server
et Microsoft Office XP. Par exemple, sur
mon ordinateur de bureau, j'ai ajouté
un canal actif qui est relié au site Web
SQL Server de l'hôpital. La technologie
Microsoft Active Channel est intégrée à
Internet Explorer (IE) pour « canaliser
» les données du navigateur vers le
desktop d'un client sans intervention
de l'utilisateur. Active Channel s'intègre
à un desktop Windows actif afin
que l'on puisse visualiser des pages
Web comme des arrières plans de
desktop ou des économiseurs d'écran,
par exemple. Ainsi, si j'ai un desktop actif, je peux utiliser notre site Web
comme mon économiseur d'écran.
Quand j'arrive au bureau le matin, je
peux examiner les résultats des sauvegardes
de bases de données, lire
des messages provenant des
opérations DBCC (Database Consistency
Checker) de la dernière nuit,
voir quelles bases de données croissent
le plus vite, et examiner divers graphiques
de performances sur le Web -
et ce avant même de me connecter.
Voyons comment vous pouvez appliquer
la solution de notre groupe
DBA pour visualiser les données de
performances SQL Server courantes et
historiques au moyen d'un graphique
sur une page Web, comme le montre la
figure 1. Voyons d'abord comment
vous pouvez superviser votre environnement
en journalisant les données
System Monitor de Win.NET Server
dans SQL Server. Ensuite, je vous montrerai
comment nous présentons
les données dans une
page Web dynamique en utilisant
les pages d'accès aux données
de Microsoft Access. Pour
appliquer les techniques que je
décris dans cet article, vous
avez besoin de SQL Server
2000, Office XP avec Access installé,
un serveur Web IIS 5.0 ou
4.0, Win.NET Server ou
Windows XP et IE 4.01 ou ultérieur.
Il vous faut aussi un domaine
AD (Active Directory) ou
Windows NT 4.0 afin de pouvoir
utiliser les comptes utilisateur
de domaine pour des
connexions de confiance ou
l'authentification Windows.
Pour des raisons de simplicité,
tous les ordinateurs client que
vous utilisez doivent aussi faire
partie du domaine.
Avant de pouvoir visualiser
vos données de performances
SQL Server, vous devez d'abord
créer dans Win.NET Server les
journaux de comptage de
System Monitor qui collectent
les données de performances, puis les envoyer à un SQL Server sur
votre réseau. Si vous n'avez pas
Win.NET Server (j'ai utilisé Release
Candidate 1 - RC1), vous pouvez utiliser
XP pour couvrir les étapes System
Monitor de cet article. Win.NET Server
et XP peuvent stocker les données
System Monitor dans un format unique
sur SQL Server. Toutefois, Windows
2000 et NT ne peuvent stocker des
données de performances que dans un
fichier. Win2K utilise System Monitor
pour journaliser les données dans un
fichier binaire ou texte, et NT utilise
Performance Monitor pour journaliser
les données dans un fichier binaire.
Plus loin, je décris brièvement le format
que nous utilisons et vou

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

myLittleTools.net lance la version 2.0 de myLittleAdmin
myLittleTools.net lance la version 2.0 de myLittleAdmin, outil d'administration en ligne de bases de données SQL Server et MSDE.
Cette nouvelle version a été entièrement ré-écrite.
Lire l'article

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.


SQL Server, pièce maîtresse de la stratégie entreprise de Microsoft
Affichant une hausse de 40 % sur la vente de licences en 2001, SQL Server s’impose aujourd’hui comme la base de données leader sur la plate-forme Windows. Grâce aux efforts des ingénieurs de la R&D, le système est à présent la pièce maîtresse de nombreuses applications d’entreprises (ERP, CRM...)Et de se positionner aujourd’hui comme plateforme de référence dans le domaine de la Business Intelligence. Le point sur cette évolution avec Gordon Mangione, VP SQL Server Team.
Lire l'article
SQL Server Reporting Services
Avec SQL Server Reporting Services, l'offre décisionnelle Microsoft SQL Server s'enrichit de fonctionnalités de Reporting.
La plate-forme décisionnelle propose dorénavant l'intégration des modules d'analyse OLAP, de data mining, des outils ETL (Extraction, Transformation and Loading), des entrepôts de données et des fonctionnalités d'éditions de rapports.
Lire l'article

La sécurité au moyen des chaînes de propriété
par Dan Guzman - Mis en ligne le 25/03/2003
Les chaînes de propriété constituent
la base d'un système de sécurité
à la fois souple et robuste. L'outil existe
depuis les débuts de SQL Server, mais
on utilise rarement tout son potentiel
parce que même les DBA SQL Server les plus expérimentés
ne comprennent pas à fond le
fonctionnement de ces chaînes. Même si les DBA utilisent couramment les
chaînes de propriété dans une base de
données unique, ils ne les emploient
pas toujours sur plusieurs bases de
données comme ils le pourraient. On
peut utiliser les chaînes de propriété
inter-base de données pour alléger
l'administration de la sécurité et sécuriser
l'environnement. Pour tirer le
meilleur parti des chaînes de propriété
dans un modèle de sécurité facile à
maintenir avec SQL Server 2000 et 7.0,
il faut comprendre quelques concepts
et techniques de base.

Des données sous bonne garde avec Kerberos
par Morris Lewis - Mis en ligne le 25/03/03
Toutes les opérations de sécurité
de SQL Server s'appuient sur un
double processus : authentification et
autorisation. Si le serveur n'a pas toute
confiance en l'identité de l'utilisateur
et n'est donc pas certain des permissions
de celui-ci, toutes les tentatives
de contrôle d'accès aux données
échoueront. Pendant longtemps,
Microsoft a préféré les logins authentifiés
de Windows NT à leurs homologues
de SQL Server parce que
Windows vérifie plus efficacement
l'identité de l'utilisateur, bien au-delà
de la simple comparaison d'un couple
compte/mot de passe. Kerberos est le
protocole d'authentification par défaut
de Windows 2000. Il améliore le protocole
d'authentification de NT de plusieurs
manières et identifie à la fois le client et le serveur. Voyons brièvement
le principe de fonctionnement de
Kerberos et comment il peut protéger
les données de vos serveurs SQL
Server 2000. Bien entendu, il faut exécuter
SQL Server 2000 sur Win2K pour
utiliser Kerberos. Je reviendrai plus
loin plus en détail sur les exigences en
la matière.

DTS et le Data Warehouse
par Itzik Ben-Gan - Mis en ligne le 27/02/2003
Il y a 3 ans, j'ai participé à un cours
sur les data warehouse pour formateurs.
Stewart McCloud, l'un des architectes
DTS (Data Transformation
Services) de Microsoft est intervenu
sur le sujet de la Data Driven Query
(DDQ) task dans SQL Server 7.0. J'ai
été fasciné par DTS en général et par
la puissante DDQ task en particulier.SQL Server 2000 a amélioré DTS
avec de nombreuses nouvelles
tâches mais, d'après mon expérience,
la DDQ task est l'une des
plus difficiles à apprendre.

Archive for Server 5.0
Princeton Softech présente Archive for Server 5.0, logiciel qui permet d'implémenter une stratégie dédiée aux archives.
Le but est de retirer rapidement des ensembles complets de données utilisées très rarement des bases de données de production.
Lire l'articleLes plus consultés sur iTPro.fr
- AI Appreciation Day,16 juillet « cet email de 10 pages aurait pu se résumer en 3 points »
- L’informatique quantique perçue comme la menace de cybersécurité la plus critique
- Bâtir une entreprise AI-native : par où commencer
- La France à l’avant-garde de la conteneurisation et de l’IA générative
- La souveraineté numérique pour renforcer la cybersécurité
Sur le même sujet

La blockchain en pratique

Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises

ActiveViam fait travailler les data scientists et les décideurs métiers ensemble

10 grandes tendances Business Intelligence

Les projets d’intégration augmentent la charge de travail des services IT
