Avant-propos▲
MSDE : Microsoft SQL-server Desktop Edition, est une version light de SQL-server. MSDE est gratuit et disponible en téléchargement ici : http://www.asp.net/msde/default.aspx?tabindex=0&tabid=1.
J'ai entendu parler de MSDE il y a peu de temps, mais je n'avais jamais eu l'occasion de me pencher dessus. Lors des tech-ed 2003 à Barcelone, j'ai pu assister à une conférence sur MSDE, je vais donc vous en dire un peu plus sur ce SGBD…
I. Les points forts de MSDE▲
Voici une liste des caractéristiques intéressantes de MSDE :
- il est gratuit ! ! ! ;
- il permet d'utiliser les procédures stockées ;
- utilisation du fournisseur de données SQL-server : surtout important pour les programmeurs .NET ;) Avec .NET, les accès aux données en passant par les objets « SQL » sont jusqu'à 50 % plus performants qu'en passant par « oleBD » ;
- la migration vers une autre version de SQL est aisée. MSDE est basé sur le moteur de SQL-server, donc les requêtes et les procédures stockées de vos applications resteront valides si vous faites une upgrade de MSDE vers une autre version de SQL-server ;
- contient le « Query analyser » ;
- permet un nombre de connexions simultanées illimitées ;
- l'install de MSDE est un .msi : il est donc facile à déployer et à inclure dans le setup d'une application.
MSDE peut être utilisé en mono-utilisateur, mais aussi en multi-utilisateur, sur un petit groupe. MSDE étant gratuit, il ne faut pas s'attendre à un équivalent des autres versions de SQL-server. Voyons maintenant quelles sont les contraintes de MSDE par rapport aux autres versions de SQL-server.
II. Contraintes de MSDE▲
Un petit récapitulatif des « limites » de MSDE :
- limité à 2 GO de RAM maximum sur le serveur ;
- limité à 2 processeurs maximum sur le serveur ;
- limité à 2 GO de base de données max. Cette limite ne s'applique qu'aux données (.ndf et .mdf) et pas aux logs de transaction (.ldf) ;
- pas de recherche full text ;
- ne possède pas entreprise manager. Cependant, il existe un portail web open-source et gratuit fait en ASP.NET qui est un équivalent de Entreprise Manager via une interface web : http ://www.aspentreprisemanager.com ;
- optimisé pour l'exécution de cinq requêtes ou procédures stockées en simultané. En pratique, le speaker nous a certifié que MSDE supporte jusqu'à huit requêtes ou procédures stockées en simultané et qu'on observe un ralentissement au-dessus de cinq.
Intéressons-nous maintenant à la sécurité sous MSDE.
III. La sécurité sous MSDE▲
La sécurité est devenue une vraie préoccupation pour Microsoft, voyons ce qui est mis en place pour sécuriser MSDE.
MSDE utilise l'authentification Windows pour la gestion des droits et des utilisateurs. L'avantage est que l'on bénéficie de l'API Windows pour la sécurité, et que l'on n'est pas obligé de mettre le mot de passe et le nom d'utilisateur dans la chaîne de connexion à la base de données.
Dans MSDE, l'installation par défaut désactive tous les protocoles réseau. À vous si besoin est d'activer les protocoles dont vous avez besoin. Ceci n'est pas très étonnant, car depuis un petit moment, les produits Microsoft ont des installations par défaut avec des paramètres de sécurité « très élevés ». On limite ainsi les problèmes de sécurité dus à une mauvaise administration du SGBD.
Pour finir, une chose très importante au niveau de la sécurité, le mot de passe SAPWD doit être un mot de passe fort ! ! ! L'idéal serait que ce genre des mots de passe comporte au moins 6 caractères, parmi lesquels des caractères de ponctuation et des chiffres.
IV. Mise à jour vers une autre version de SQL-server▲
MSDE étant une version light de SQL-server, une mise à jour vers une autre version de SQL-server sera aisée et sans risques. Vos applications utiliseront la même chaîne de connexion, vos requêtes et procédures stockées seront toujours valides et vos droits utilisateurs seront transférés vers la nouvelle version installée.
Avec une version plus « haut de gamme » de SQL-server vous pourrez :
- avoir un serveur de plus de 2 GO de RAM ;
- avoir un serveur de plus de deux processeurs ;
- avoir une base de données de plus de 2 GO ;
- exécuter un plus grand nombre de requêtes en simultané.
Conclusion▲
Cette conférence sur MSDE a été très instructive. Développeur .NET utilisant Access juste comme SGBD, MSDE m'a vraiment séduit. En utilisant MSDE, je pourrai profiter des meilleures performances que m'offre le fournisseur d'accès à SQL-serveur en .NET et des procédures stockées. Mais aussi, déployer un SGBD gratuit pour de petits besoins en pouvant le faire évoluer sans difficulté vers une version plus robuste de SQL-Server si c'est nécessaire. Par exemple, si on doit faire un petit intranet, on peut commencer avec MSDE qui est gratuit, donc un bon SGBD à moindre coût pour un petit trafic. Suivant la croissance de l'intranet et le besoin du client, on peut par la suite envisager une migration vers une autre version de SQL-server plus robuste en toute simplicité et sans craindre des problèmes d'intégration. Reste à voir sur une application mono utilisateur si MSDE ne sera pas trop lourd comparé à Access et oleDB ? Je ne peux pas répondre à cette question, car je n'ai pas eu l'occasion de faire des tests complets…
Vous l'avez donc compris, je suis très séduit par MSDE et je pense qu'à l'avenir je risque de beaucoup l'utiliser ;)