I. Présentation ♪▲
Voici une présentation de Web Data Administrator
Web Data Administrator est un outil gratuit de Microsoft permettant d'administrer des bases de données sous SQL Server 2000, mais également MSDE (version allégée et gratuite du célèbre serveur de base de données de Microsoft). Cet outil est en fait une interface Web qui permettra de réaliser des tâches d'administration même sur des serveurs distants.
Cet outil conçu en ASP.Net implique donc d'utiliser un serveur Web exécutant le .Net Framework. On pense donc de suite à IIS, mais il fonctionne aussi avec Cassini* qui est intégré à WebMatrix.
On peut donc avoir une solution complète de développement ASP.Net sans débourser le moindre euro en achat de licence :
- WebMatrix pour réaliser les pages ASPX ;
- MSDE comme base de données ;
- Web Data Administrator pour l'interface de MSDE ;
- Cassini pour serveur Web ;
- .Net Framework SDK.
* Cassini est un mini serveur Web qui ne sert des requêtes qu'en local. Il est dédié au poste de développement et permet de tester l'exécution des projets ASP.NET. Il ne fonctionne que pour ASP.NET et est fourni directement avec ASP.NET Web Matrix. Cassini peut être téléchargé indépendamment de WebMatrix ici.
La configuration minimale recommandée par Microsoft :
- Microsoft SQL Server 7 SP2 ou plus ;
- Microsoft Internet Explorer 5.5 ou plus ;
- Microsoft .NET SDK or Microsoft Visual Studio .NET ;
- Microsoft Internet Information Services (IIS) ou Cassini.
Avec un des systèmes d'exploitation suivants :
- Windows 2000 Service Pack 4 ;
- Windows Server 2003 ;
- Windows XP.
II. Procédure d'installation▲
Après la présentation de cet outil, passons maintenant aux choses sérieuses en l'installant sur notre machine.
II-A. Installation▲
Toute la procédure d'installation suppose que Internet Information Services (IIS) et le .Net Framework SDK soient installés.
- Téléchargez le Web Data Administrator (fichier *.msi de 3416 Ko) ici sur le site de Microsoft
- Lancez la procédure d'installation du logiciel. Là rien de compliqué il suffit de suivre les instructions, pas la peine que je rentre dans le détail.
Configuration pour Cassini
Par défaut Web Data Administrator est configuré pour fonctionner sur IIS, pour l'utiliser avec le serveur Cassini, il faut lancer le petit utilitaire se trouvant dans Démarrer > Programmes > Microsoft SQL Web Data Administration > SQL Web Data Administrator et choisir Cassini en lieu et place de IIS.
II-B. Lancement de l'application▲
Le lancement de l'application est aisé, puisqu’il s'effectue au travers du navigateur Internet Explorer 5.5 minimum.
- Sous Windows 2000 et XP
Il ne vous reste plus qu'à ouvrir Internet Explorer et taper http://localhost/webadmin/, après quelques secondes, le temps que le serveur compile les fichiers nécessaires, apparaît alors la page de login de l'application.
- Sous Windows Server 2003
Si vous êtes sous Windows Server 2003, il est possible qu'un problème apparaisse. En effet si après avoir saisi http://localhost/webadmin/ dans le navigateur, et s'il apparaît alors une demande d'authentification ou si vous avez un problème d'accès refusé sur le répertoire C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files il faut alors effectuer une modification des droits sur un répertoire. Ce problème vient de la spécificité de Windows Server 2003 qui dans IIS 6.0 utilise le compte IIS_WPG à la place de ASPNET. Pour faire fonctionner correctement Web Data Administrator, il faut donner des droits d'écriture au compte IIS_WPG sur le répertoire C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files une fois que cela est effectué, ouvrez de nouveau Internet Explorer et resaisissez l'adresse http://localhost/webadmin/. Cela doit désormais fonctionner correctement.
Remarque : le répertoire en question peut avoir un chemin légèrement différent en fonction du framework utilisé (ici le 1.1.4322).
III. Fonctionnalités▲
Nous voilà désormais dans le vif du sujet, voyons un peu ce qu'il est possible de faire avec cet outil mis à disposition par Microsoft.
III-A. L'authentification▲
Lors de l'ouverture de l'application, vous atterrissez directement sur la page d'authentification, il faut alors entrer un login, un mot de passe ainsi que l'adresse du serveur de base de données concerné. Par défaut le serveur configuré se trouve en local, il est bien sûr possible d'en atteindre un autre en saisissant son adresse et le port utilisé au cas où cela ne soit pas celui par défaut (TCP 1433).
Vous avez le choix entre deux types d'authentification, le premier est « Windows Integrated » et le deuxième « SQL Login ». Le choix de l'un ou de l'autre dépend de comment vous avez installé et configuré votre serveur de base de données.
Voici le formulaire d'authentification.
Vous n'avez alors plus qu'à cliquer sur « Login » et vous arrivez alors sur la première page de cette application : databases.aspx.
Remarque : attention de choisir la méthode d'authentification avant de taper les autres informations, car le fait de passer d'un mode à l'autre efface automatiquement le contenu des champs en rechargeant la page…auquel cas vous êtes bon pour saisir de nouveau vos informations.
Maintenant que nous sommes connectés à notre serveur de base de données, nous allons étudier quelles fonctionnalités nous propose cet outil.
III-B. Databases▲
Cette section contient un tableau listant l'ensemble des bases de données du serveur auquel vous êtes connecté en fonction bien évidemment des droits que vous donne le compte que vous utilisez. La taille des bases apparaît également dans ce tableau.
Voici un exemple de ce tableau :
À partir de ce tableau, l'on accède aux options relatives à chaque base comme l'édition, l'exécution de requêtes ou l'effacement d'une base.
Les requêtes
Une zone de texte est à disposition de l'utilisateur pour lui permettre de saisir directement ses requêtes en T-SQL. Il peut également uploader un fichier *.sql contenant sa requête. Le résultat est retourné dans un tableau sur la même page.
L'édition
Lorsque l'on veut éditer un champ, un avertissement signale le fait que des propriétés telles que les index ou les clés étrangères ne sont pas préservées. « Warning: There is a potential for column data loss when updating an existing column that has been created or modified outside of the Web Data Adminstrator tool. Properties such as foreign keys and indexes are not preserved when editing an existing column. »
L'utilisateur peut modifier la configuration d'un champ de la base de données. Les caractéristiques éditables sont par exemple le type, la taille qui y est associée, les clés primaires, le fait d'être 'null' ou pas… Une définition fine est donc envisageable grâce à cet outil.
Au niveau de chaque base de données l'utilisateur peut modifier les procédures stockées système et en créer d'autres. Il a également accès aux propriétés et statistiques de la base concernée et peut régler certains paramètres par exemple l'augmentation des fichiers de log et de données.
Création de bases de données
Cet outil autorise aussi la création de nouvelles bases, il est très facile d'y créer des tables et d'en définir les champs. Comme nous le verrons plus tard les droits des utilisateurs peuvent aussi être établis dans une certaine mesure.
On a donc vu que par l'intermédiaire de cette section il est possible d'effectuer toutes les opérations principales dans la création de bases et de tables.
III-C. Export▲
Un peu à la manière de PhpMyAdmin il est possible d'exporter une base de données dans un script SQL. Cette fonction d'exportation possède de multiples options qui permettent de définir ce qui est à exporter ou non (schéma, données, procédures stockées…). Après validation commence le téléchargement d'un fichier *.sql
Si l'on ouvre ce fichier avec Notepad, pas de surprise, c'est bien un script SQL qui contient toutes les informations relatives à la base et aux données contenues. Tout cela se présente sous la forme de commandes en TransacSQL, langage propre à SQL Server et MSDE. Ces scripts peuvent donc servir dans une certaine mesure de sauvegarde, puisqu'il est possible d'y intégrer la structure de la base ainsi que ses données. Cependant il faut avoir à l'esprit que le script généré peut avoir une taille très importante en fonction de la base, donc si vous êtes connectés au serveur par Internet prenez en compte ce paramètre. L'exportation complète de la structure d'une base et de ses données sera réservée aux petites bases, du moins dans le cadre d'une connexion se faisant par le biais d'une connexion bas débit.
Comme nous pouvons le voir sur la capture d'écran ci-dessus, il y a une option « DROP commands », qui, si elle est sélectionnée, va créer dans le script généré une commande de suppression de la base de données portant le même nom. En clair si par la suite vous réimportez ce script vers le même serveur, alors la base du même nom que celle que vous importez sera effacée avant l'importation du script.
Extrait d'un script généré :
/* Generated by Web Data Administrator on 11/06/2004 16:40:20 */
/* Options selected: database drop-commands table-schema table-data stored-procedures comments */
/****** Objet : Base de données developpez.com Date du script : 11/06/2004 16:40:20 ******/
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'developpez.com') DROP DATABASE [developpez.com]
GO
CREATE DATABASE [developpez.com]
ON
(NAME = N'developpez.com',FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\developpez.com.mdf' , SIZE = 1, FILEGROWTH = 10%)
LOG ON
(NAME = N'developpez.com_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\developpez.com_log.LDF' , FILEGROWTH = 10%)
COLLATE French_CI_AS
GO
exec sp_dboption N'developpez.com', N'autoclose', N'false'
GO
exec sp_dboption N'developpez.com', N'bulkcopy', N'false'
GO
exec sp_dboption N'developpez.com', N'trunc. log', N'false'
GO
Cet exemple le montre, il s'agit bien d'un script en T-SQL. Après l'exportation, intéressons-nous maintenant à l'importation de bases de données.
III-D. Import▲
Cette fonctionnalité permet d'importer des scripts SQL et de les exécuter sur le serveur. Cela est complémentaire de la fonction « Export ». Après que le script a été uploadé sur le serveur puis interprété, un message est affiché :
« The database was successfully imported. »
Comme nous l'avons vu dans la section précédente, il faut prendre garde au fait que l'importation d'une table écrasera la table du même nom si elle existe déjà sur le serveur.
III-E. Security▲
Les comptes utilisateur peuvent être créés et édités par le biais de cette application. Le nombre de paramètres configurables est relativement important, par contre un gros défaut est de ne pas pouvoir modifier les mots de passe des comptes existants. Voici une capture d'écran montrant un des écrans de configuration :
Les rôles sont aussi gérables au travers de cet outil. Ainsi il est possible de les modifier pour un ou plusieurs utilisateurs donnés. Les rôles gérés sont :
- System Administrators ;
- Security Administrators ;
- Server Administrators ;
- Setup Administrators ;
- Process Administrators ;
- Disk Administrators ;
- Database Creators ;
- Bulk Insert Administrators.
III-F. Documentation▲
Une documentation est fournie avec cet outil. Elle est accessible elle aussi au travers d'un navigateur Web à l'adresse suivante http://localhost/webadmin/Help/default.aspx Relativement complète elle apporte une aide sur l'ensemble des fonctionnalités offertes.
IV. Défauts majeurs de Web Data Administrator▲
Cet outil léger et simple a cependant les défauts de ses qualités, c'est-à-dire qu'il ne gère pas un certain nombre de paramètres comme pourrait le permettre l'Enterprise Manager de SQL Server.
Voici une liste non exhaustive des manques principaux de cet outil :
- impossible de créer et de gérer des « triggers » ;
- impossible de créer une sauvegarde d'une base de données et de la restaurer comme dans Enterprise Manager ;
- impossible de changer le mot de passe d'un utilisateur existant ;
- impossible de gérer la réplication à partir de cette interface ;
- impossible de créer un package DTS.
Même si ces fonctionnalités « avancées » ne sont pas présentes, il n'en reste pas moins que cette application est très intéressante en termes de simplicité. Elle a été conçue pour une administration de base au travers d'une interface simplifiée.
Conclusion▲
Cet outil ne vient donc pas en remplacement de l'Enterprise Manager, mais en complément, il reprend les fonctionnalités les plus fréquemment utilisées tout en laissant de côté un certain nombre de paramètres avancés de configuration plus rarement employés.
Il est pratique et d'une grande simplicité, c'est en cela que réside sa force. De plus, de par sa conception il permet d'administrer des bases de données, même à distance au travers d'une interface Web plutôt conviviale.
Un autre avantage indéniable de cet outil est le fait qu'il procure une interface graphique à MSDE, qui je le rappelle si cela est encore nécessaire, est une version bridée, mais gratuite de SQL Server dont le problème principal est de ne pas avoir d'interface graphique. Par exemple, lorsque durant un développement il faut fréquemment intervenir au niveau de la base de données il devient vite fastidieux d'utiliser la ligne de commande.
Web Data Administrator est donc le complément idéal du développeur ASP.Net utilisant MSDE ou même SQL Server.
Les plus |
Les moins |
---|---|
Gratuité |
Manque de certaines fonctionnalités avancées |
Simplicité |
|
Compatible MSDE |
|
Compatible serveur Cassini |
|
Interface Web accessible à distance |
V. Liens relatifs à l'article▲
- Microsoft Web Data Administrator : ici
- Microsoft package redistributable .Net : ici
- Microsoft .Net Framework SDK : ici
- Microsoft MSDE : ici
- Serveur Web Cassini : ici
- WebMatrix : ici
Voilà un lien vers un article présentant MSDE : ici
VI. Remerciements▲
Merci à David Pédehourcq pour la relecture de l'article.