Sql-server – an advantage or disadvantage for not upgrading database server

sql serversql-server-2000upgrade

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)

Upgrade

  • 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.

Best Answer

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