It’s me again with my apparently semi-annual blog post. This time we’re going to talk about which version of SQL Server you should be on, now that we’re at the end of 2023.
Which version should I be on?
You should be running your production environment on SQL Server 2022 with the latest cumulative update (CU). Opinions on whether SQL Server 2022 isn’t “ready” (whatever that means) are overstated*. XML compression and ADR enhancements alone are worth the entry fee. The link feature to SQL Managed Instance is pretty cool, but if you’re holding out for that, maybe think about why.
If you’re not ready to install SQL Server 2022, then you should be on SQL Server 2019 at the very least.
Let’s talk about support
If you haven’t upgraded yet, there was this thing that stole three years of our lives starting in 2020, and therefore you have forgotten that it’s a few days before the year 2024, and time is meaningless now. That said:
- SQL Server 2012 is already out of extended support
- SQL Server 2014 is out of mainstream support, and will be out of extended support soon
- SQL Server 2016 is out of mainstream support
- SQL Server 2017 is out of mainstream support
- SQL Server 2019 will be out of mainstream support in 13 months
Licensing is not that expensive, actually
If you think SQL Server is expensive, try taking a six-year view on licensing costs with Software Assurance, compared to Azure VMs, or whatever Amazon is selling (is GCP still a thing?). You can save many tens of percent with Software Assurance, and historically it really paid off for getting new versions, especially between 2016 and 2022.
A reminder about database compatibility
Did you know that SQL Server 2016 and later versions can attach and/or restore a database from as far back as SQL Server 2005? It’ll even keep the compatibility mode (SQL Server 2005 databases will need to be at least level 90, and will be bumped up to level 100).
That “two version” thing only applies to in-place upgrades and bigger AG clusters. For most readers, an “upgrade” should consist of creating your new environment and migrating the databases during a short maintenance window.
Final thoughts for 2023
Because I do work for Microsoft, I should encourage you to think about Azure SQL. Just think about it, play around, and see if you like it. There’s Azure SQL Database, Azure SQL Managed Instance, and this Microsoft Fabric thing that might be interesting. Side note: the Hyperscale service tier for Azure SQL Database isn’t as expensive as you think it is, and it’s Good ActuallyTM. Do a spreadsheet and see for yourself. Plus there’s Cosmos DB, and Azure Database for PostgreSQL and MySQL on the open-source side.
Finally, for those of you who celebrate late-stage capitalism, Merry Christmas.
* Yes, I know you read my blog. On this issue I don’t agree with you, and I felt this way before I started working at Microsoft.