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é.
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">
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.
Security Update Manager (SUM) 2.0
Configuresoft annonce Security Update Manager (SUM) 2.0, module pour Enterprise Configuration Manager (ECM) qui permet de corriger rapidement les vulnérabilités de la sécurité sur les serveurs Windows et les stations de travail.
SUM identifie les machines vulnérables et installe des correctifs sur les machines cibles.
Lire l'article
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'article
SQL Slammer worm
Mis en ligne le 29/01/2003
Retrouvez les dernières informations sur le Worm "SQL Slammer", publiées par Microsoft à la suite des incidents des 25/26 Janvier 2003. (Articles en anglais)
Les plus consultés sur iTPro.fr
- Tendances 2026 : l’IA devra prouver sa rentabilité
- L’identité numérique : clé de voûte de la résilience et de la performance en 2026
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 6 tournants qui redéfinissent l’IA en entreprise
Articles les + lus
L’essor de l’IA propulse les cyberattaques à des niveaux records
Face aux ransomwares, la résilience passe par les sauvegardes immuables
Les 6 tournants qui redéfinissent l’IA en entreprise
Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
Une menace à 1 milliard d’euros : le gouffre de la fraude e-commerce en France
À la une de la chaîne Data
- L’essor de l’IA propulse les cyberattaques à des niveaux records
- Face aux ransomwares, la résilience passe par les sauvegardes immuables
- Les 6 tournants qui redéfinissent l’IA en entreprise
- Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
- Une menace à 1 milliard d’euros : le gouffre de la fraude e-commerce en France
