• Last time I had to worry about such things, there were 2 powerful reasons either of which would on its own to ensure that we didn't upgrade SQL version. Those were the same reasons that many others have mentioned.

    The main reason was the cost of regression testing (including the cost of the learning process for the support team) - I certainly didn't trust MicroSoft to provide a new release that didn't break our software: we found critical security updates doing that (rarely) and service packs too (as often as there was a service pack, whether for OS or for SQL Server) so why should I believe that a new release wouldn't introduce problems? This was potentially made worse by the possible need to upgrade the OS when SQL Server was upgraded, as our most complex application software was dependent on many windows features other that SQL Server. In addition some regression testing would have to be done on customer sites because we didn't necessarily have hardware available in-house identical to what was installed on customer sites - we had to interface to customer's equipments that used manufacturer-specific protocols and required our stuff to be certified as suitable for interfacing - and for some equipment that certification had to be carried out on the other manufacturers' sites, and wouldn't include regression testing with our applications. Most of the customers would want to conduct an acceptance trial on any significant upgrade such as a new OS or SQL Server version and since they were providing a 24/7 service to their customers they generally weren't willing to take time out for that (it was hard enough to get time to install critical security fixes).

    The second reason was the cost of SQL Server. We were using Standard Edition, so it was not as bad as it might have been; but the accountants and marketeers had included the SQL licencing cost up-front in the contracts with the customers, and contracts might run for 3, 5, or 10 years - if we wanted to upgrade we could either wait until the current contract ended or persuade the customer to pay or find the cost in-house somehow; the latter was impossible - the burn rate was hardly acceptable without that expense, and a lot of my time was spent devising ways to reduce it or to prevent it rising when any of our costs increased. Since our software needs big servers to provide the required service for customers where there are a very large number of end-users, the new licensing model - per core licensing - means that upgrades will be an even bigger problem in future.

    Tom