I have a legacy database server. The person who wrote it is long gone. There is no documentation at all just some comments in the code. Luckily, it is not that complicate but if I want to fix it (requests from users), it takes time to investigate all related database objects (tables, views, or stored procedures).

Recently, I received suggestions from our IT departments person that I should upgrade our database to a newer database version (2005/2008). Right now, it is SQL Server 2000. He said it will have better performance and security. I think if I upgrade to newer version, our old box (hardware) may not powerful enough for new database engine. Currently, according to users, the response time is acceptable.

I try to think all pro(s) and con(s). I prefer for not upgrade but I want to make sure that I don't miss anything.

Not upgrade

  • Better ROI (not pay for everything)


  • Pay for new server/license
  • Redo some works to get the same functionality
  • Better performance/security

Question is: What should I do? Upgrade or Not upgrade our database server.

2 Answers 2


If you don't:

  • it will be unmaintainable at some point because of OS, version, patch, whatever
  • hardware failure may force an upgrade at the wrong time

What you gain:

  • older code can be simplified with new constructs (eg ROW_NUMBER)
  • far better error handling (TRY/CATCH)
  • engine improvements: most queries will run quicker on a later version

MS don't support it anymore either


GBN is spot on with his analysis - I'd just add that something that can buy you time, if your company has the technology, is to virtualise this legacy database server, either as a new build or as a clone/P2V. This will buy you time in that you'll be better protected against hardware failure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.