Sql-server – Downsides to using SQL 2012 Upgrade as opposed to a fresh install

installationsql serversql-server-2012upgrade

I currently have SQL Server 2008 R2 which I would like to upgrade to SQL 2012. I can either un-install SQL 2008 and install a new copy of SQL Server or run the Upgrade. The upgrade is less work but I am wondering if there is a downside.

I have already tried the upgrade once. Ran into problems and had a difficult time removing both SQL 2008 & SQL 2012 so I could begin again. Upon successful upgrade, I saw that in Add/Remove programs both SQL 2008 R2 & SQL 2012 are still there afterwards. Which may make future upgrades/uninstalls complicated.

Aside from that, is there any other downsides to using the upgrade versus a fresh install?

Best Answer

Even if you install SQL Server 2012 clean, you get menu items in the start menu under SQL Server 2008 (e.g. Configuration Tools > Installation Center). In Add/Remove Programs do you see anything other than 2008 R2 Management Objects and 2008 Setup Support Files? I think these get installed by 2012 setup for backward compatibility reasons.

To be on the safe side, you could remove all the SQL Server 2008 components (except the database engine or other services you're using - e.g. remove client tools etc.) before installing SQL Server 2012, if cleanliness is important. The system does allow some components from both version, such as 2008 Management Studio and 2012 Management Studio, to co-exist, so for some parts of the ecosystem, upgrading is an addition rather than a replacement. It might be beneficial for other reasons to also remove peripheral things - for example I don't think BIDS 2008 plays very well with the 2012 client tools (not that I have tried it, just overheard rumblings about it).

When upgrading I would certainly make sure to do the following things, in addition to reading this very thorough upgrade guide:

  • Update the compatibility level of each database
  • Update all statistics

When upgrading from 2000 it has always been recommended to run DBCC ... WITH DATA_PURITY but I don't believe that step is necessary anymore (besides, you can't upgrade to 2012 directly from 2000 anyway).