Dans notre organisation, il y a plusieurs raisons. Certains sont assez spécifiques à notre cas, et d'autres un peu plus génériques.
1) Incompatibilités. Nous avons eu quelques cas où des logiciels écrits en interne pour SQL2005 rencontraient des problèmes lors de l'installation sur SQL2000. Le cas que j'ai vu le plus récemment a fini par être dû à des paramètres explicitement déclarés qui n'existent pas en 2000 et à une différence dans le nom de la table d'index du système. (sys.indexes vs sysindexes)
2) Formation. Nos développeurs connaissent certainement 2005, et préféreraient développer dessus, ou 2008 déjà. Cependant, le travail de garder tout opérationnel incombe au CNO, pas aux développeurs. Personne dans notre CNO n'a reçu de formation SQL formelle, et les différences entre les deux, juste du point de vue de l'outil administratif, sont suffisantes pour en faire une considération.
3) Coût de mise à niveau des produits existants. Pour nous, c'est un gros problème. Je ne parle pas du coût de la licence de Microsoft ici. Dans notre entreprise, une mise à niveau de l'un de nos produits existants (même si nous n'avons pas mis à niveau rétroactivement tout ce qui existe déjà sur le terrain) nécessiterait un processus de recertification coûteux et long à travers plusieurs laboratoires de test de réglementation et de certification différents. Nous construisons de nouveaux produits sur SQL2005, mais ne mettons pas à niveau les anciens pour cette raison.
Le processus de certification signifie également que nous nous retrouverions avec un mélange de nouvelles versions, où certaines juridictions obtiendraient SQL2000 et d'autres obtiendraient SQL2005, selon que les approbations avaient été reçues ou non. Nous préférons, pour la raison n ° 2, garder notre environnement de production aussi cohérent que possible.
4) Différences générales. C'est vraiment une extension de # 1. Il y a beaucoup de petites choses qui ont changé, dont certaines nous causent des maux de tête. Par exemple, SQL2005 sur Server2003 appliquera les stratégies de mot de passe Windows sur les comptes SQL. Ce n'est pas une mauvaise chose en soi, mais il casse presque tous nos logiciels (et beaucoup de tiers) en raison de la façon dont nous interagissons avec la base de données.
Bref, l'inertie.