Le développeur orienté Microsoft est de plus en plus amené à développer des applications dont les données sont gérées par des serveurs de type SQL 2000. Dans le cadre d’une machine de développement, l’installation d’une instance SQL 2000 peut s’avérer disproportionnée par rapport aux besoins réels, que ce soit au niveau des fonctionnalités offertes ou simplement des licences nécessaires à une utilisation légale.
MSSQL 2000 Server - Developer Edition
Il n’existe quasiment aucune différence entre La version Developer de SQL 2000 Server et la version Entreprise. On notera simplement que la licence ne permet une utilisation commerciale d’une instance Developer et doit être donc réservée aux environnements de développement uniquement. Cette version est payante mais, un bon point de la part de Microsoft, reste très accessible à un développeur grâce à son coût bas: 49.95$.
A ce prix-là, cela peut toujours s’avérer être une option intéressante dans la mesure où le packaging contient toute la documentation (SQL Books Online) et les outils de gestion de la version Professional dont le Query Analyzer et le Entreprise Manager.
Version épurée: MSDE
Epurée est le mot qui convient. La version Desktop de SQL 2000 Server ne propose à proprement parler que le moteur de gestion de données (serveur et librairies) ainsi que l’outil de gestion par ligne de commande: osql.
La version MSDE dispose de quelques limitations par rapport à ses grands frères: 2 processeurs maximum par serveur, 2 Go. de mémoire vive accessibles, un nombre limité de transactions simultanées et des bases de données limitées à une taille de 2Go. Néanmoins, ces limitations restent usuellement largement supérieures aux besoins d’une base de développement.
Autre point important: la licence MSDE accorde un droit explicite de redistribution. Vous avez bien lu: cette version peut être ‘bundlée’ dans vos solutions sans pour autant nécessiter un investissement supplémentaire. Cette option est donc à explorer pour tous les indépendants et petites structures.
Ah! J’oubliais un petit détail.. MSDE est gratuit et peut être téléchargé sur le site officiel.
Installer MSDE
L’on reproche fréquemment à la distribution MSDE de ne pas être aussi ‘facile’ d’installation que les autres versions de SQL 2000 Server. Il s’agit ici premièrement d’un choix politique de Microsoft: on vous fournit l’outil gratuitement mais à l’état brut. Il vous faudra donc retrousser un tout petit peu (promis!) vos manches pour pouvoir installer MSDE.
Après avoir décompressé MSDE dans un dossier de votre choix, vous voudrez intuitivement cliquer sur le fichier ’setup.exe’ pour démarrer l’installation. N’en faites rien, l’installation de MSDE est prévue pour s’effectuer en mode ‘unattended’, c’est-à-dire, sans intervention humaine. Aucune option ne vous sera donc proposée.
Afin de ‘personnaliser’ votre installation, vous allez devoir lancer l’installation à partir d’une ligne de commande. Cette procédure vous permettra de spécifier plusieurs paramètres à votre convenance.
Les paramètres suivants sont à retenir:
SAPWD="unmotdepassecomplexe”
Spécifie le mot de passe d’accès via le compte administrateur ’sa’
INSTANCENAME="unnomdinstance”
Spécifie un nom d’instance. N’utilisez pas cette option si vous voulez utiliser une instance par défaut (conseillé)
DISABLENETWORKPROTOCOLS=n (1 pour désactiver, 0 pour activer)
Active ou désactive les protocoles d’accès aux données à distance. L’accès via réseau est désactivé par défaut. Il est conseillé de désactiver cette option (valeur = 0) si vous souhaitez accéder à votre base via une autre machine ou des clients de gestion du serveur.
SECURITYMODE=sql
Permet l’authentification en mode SQL. Ne pas modifier cette option pour rester en mode intégré Windows.
DATADIR="d:\applications\sql2000\data\”
Spécifie le chemin d’accès où seront stockées les bases de données.
TARGETDIR="d:\applications\sql2000\server\”
Spécifie le chemin d’accès où seront stockés les fichiers du serveur.
Exemple de commande pour installer une instance standard, avec mot de passe administrateur ‘msde1945==’ dans le dossier ‘d:\applications\sql2000', authentification SQL et accès réseaux activés:
setup.exe SAPWD="msde1945==” TARGETDIR="d:\applications\sql2000\” SECURITYMODE="sql” DISABLENETWORKPROTOCOLS=0
L’installation s’effectuera automatiquement sans intervention supplémentaire de votre part.
Préparer MSDE pour le développement
Comme il a été stipulé plus haut, MSDE ne propose qu’un outil d’administration via ligne de commande. Il n’est pas nécessaire d’être un expert en T-SQL pour pouvoir faire ses premiers pas avec une application. Dans la majeure partie des cas, il s’agira de réaliser les étapes suivantes:
- Créer une base de données;
- Créer un compte utilisateur;
- Déclarer une autorisation pour cet utilisateur vers la base de données créée.
Vous pouvez lancer l’outil d’administration ‘osql’ via la ligne de commande en tapant soit ‘osql.exe -E s’il s’agit d’un accès local ou ‘osql.exe -H hote -U sa‘ pour un accès via un poste distant. Pour sortir de l’utilitaire, saisissez la commande ‘exit’. Ci-dessous, les copies de console dans les deux modes d’accès:
C:\tmp>osql -E
1> exit
C:\tmp>osql -H TABATHA -U sa
Password:
1> exit
C:\tmp>
Remarque: les commandes saisies en mode T-SQL sont ‘batchées’. Elles ne sont donc pas exécutées immédiatement après la saisie mais seulement lorsque vous donnez l’ordre d’exécution ‘GO’.
Créer une base de données
Pour créer une base de données, utiliser la commande ‘create database’.
C:\tmp>osql -E
1> create database demo
2> go
The CREATE DATABASE process is allocating 0.63 MB on disk ‘demo’.
The CREATE DATABASE process is allocating 0.49 MB on disk ‘demo_log’.
1> exit
C:\tmp>
Créer compte utilisateur
Pour créer le compte utilisateur (procédure ’sp_addlogin’):
C:\tmp>osql -E
1> sp_addlogin ‘casanova’,'casa1945'
2> go
New login created.
1> exit
Déclarer une autorisation pour cet utilisateur vers la base de données créée
Utiliser la commande ‘use’ pour sélectionner la base concernée puis utiliser la procédure ’sp_grantdbaccess’:
C:\tmp>osql -E
1> use demo
2> go
1> sp_grantdbaccess ‘casanova’,'demo’
2> go
Granted database access to ‘casanova’.
1> exit
C:\tmp>
Autres commandes utiles
sp_droplogin ‘utilisateur’ : supprime un compte utilisateur
sp_password ‘ancien’, ‘nouveau’, ‘compte’ : modifie le mot de passe d’un utilisateur
backup database nombase to disk = ‘chemindisque\fichier.bak’ : effectue une sauvegarde de la base de données
backup log nombase to disk = ‘chemindisque\fichier.bak’ : effectue une sauvegarde du journal de la base de données
restore database nombase FROM DISK = ‘chemindisque\fichier.bak’ : effectue une restauration de la base de données
Modélisation des bases MSDE
La modélisation des données peut s’effectuer au travers de n’importe quel outil ‘externe’ tel que Visio ou Access par exemple. Il existe également des outils gratuits tels que le MSSQL Web Data Administrator (téléchargeable ici) ou encore l’outil de modélisation inclus dans l’IDE gratuit Webmatrix (téléchargeable ici). Je ne vais donc pas m’attarder plus longuement sur ce sujet!
Conclusion
La communauté MSDE étant de plus en plus nombreuse, le sujet est dès lors plus présent au travers des moteurs de recherche. Vous trouverez facilement de la documentation relative aux différentes tâches d’administration sur différents sites, ou dans de la littérature spécialisée (les premiers ouvrages intéressants apparaissent) si votre bourse vous le permet.
La version MSDE de SQL 2000 Serveur est donc une alternative de choix dans les environnements de développement, de production ‘basse’ (-de 25 utilisateurs) ou encore dans le cadre d’applications web (connections directes avec un serveur d’applications). Elle fournit les fonctionnalités et la puissance du serveur de bases de données SQL 2000 Server tout en demandant un léger compromis en termes administratifs.