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 à Barcelonne, j'ai pu assister à une conférence sur MSDE, je vais donc vous en dire un peu plus sur ce SGBD...

1. 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 pas 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 quels sont les contraintes de MSDE par rapport aux autre versions de SQL-server.

2. Contraintes de MSDE

Un petit récapitulatif des "limites" de MSDE :

  • Limité à 2GO de RAM maximum sur le serveur.
  • Limité à 2 processeurs maximum sur le serveur.
  • Limité 2GO de base de donnée 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 5 requêtes ou procédures stockée en simultané. En pratique, le speaker nous a certifié que MSDE supporte jusqu'à 8 requêtes ou procédures stockées en simultané et qu'on observe un ralentissement au dessus 5.

Intéressons nous maintenant à la sécurité sous MSDE

3. 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. A 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 produit 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é dûs à 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 chiffre.

4. Mise à jour vers une autre version de SQL-server

MSDE étant une version light de SQL-server, un mise à jours 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 2GO de RAM.
  • Avoir un serveur de plus de 2 processeurs.
  • Avoir un base de donnée de plus de 2GO.
  • Pouvoir 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 eut l'occasion de faire des tests complets...

Vous l'avez donc compris, je suis très séduit par MSDE et je pense qu'a l'avenir je risque de beaucoup l'utiliser ;)