So sánh sql server 2008 và 2023

I know, management wants you to stay on an older build, and the vendor says they’ll only support older versions, but now’s your chance to make your case for a newer version – and I’m gonna help you do it.

I’m going to go from the dark ages forward, making a sales pitch for each newer version.

So sánh sql server 2008 và 2023
But I got a really good deal on this CD at a garage sale

You should consider SQL Server 2016 if…

  • You’re working with slow-moving enterprises that haven’t updated their build test lists in years. SQL Server 2016 is well-known and accepted at every enterprise shop out there.
  • You want an extremely well-known, well-documented product – it’s pretty easy to find material off the shelf and hire people who know how to use the tools in this version.
  • You’re willing to build a new server in a few years – because even extended support for this product ends in 2026. Even in slow-moving enterprises, they still want their SQL Servers to be under support, and there’s already a time bomb here. If the migration process will take 6-12 months to plan, budget, get approval for, test, and execute, then you would need to start that migration in 2025, which isn’t that far away.
  • You hate applying patches – because SQL Server 2016 SP3 is basically the end of the line. Nothing’s getting fixed here, and there certainly aren’t new features coming out for it.

Even in late 2023, SQL Server 2016 is still the

2 most popular version, which is pretty amazing given that it’s ~7 years old.

You should consider SQL Server 2017 if…

  • You have a zero-RPO goal and financial risks – because 2017 added a new minimum commit replica setting on AGs that will let you guarantee commits were received by multiple replicas
  • You want easier future upgrades – because starting with 2017, you can have a Distributed Availability Group with different versions of SQL Server in it. DAGs aren’t too robust or well-documented, but I like the idea of this as a down payment on easier upgrades when you upgrade down the road. (Prior to this, AG version upgrades are absolutely terrible, and you’re often better off building a new cluster and migrating over to it.)
  • You’re dead-set on running SQL Server on Linux – but seriously, go through the release notes and click on every Cumulative Update to read the bugs that were fixed. Some of the clustering bugs have really made my eyebrows raise.
  • You’re dead-set on doing machine learning & R in SQL Server – I know it’s trendy for data folks to do this, but remember, you’re spending $2,000 to $7,000 per core for SQL Server licensing to do this.

It’s tough for me to make a case for 2017 here. The features aren’t really amazing, so folks end up either on 2016 or 2019.

You should consider SQL Server 2019 if…

  • You want years of support – because it’s supported until 2030. I love new versions, but most of us have to stick on a version as long as possible, and 2019 gives you a lot of runway.
  • You only want to apply patches every 60 days, or less – because after a couple dozen Cumulative Updates, this version is stable enough that most of the big bugs feel like they’ve been found.
  • You’re comfortable learning via experimentation, not documentation – because as you get to these cutting edge features below, your experimentation & learning time goes up, because there are WAY less established industry best practices around the below stuff.
  • You’re good at load & performance testing – because 2019 adds a lot of cool performance features when you enable 2019 compatibility mode, but it also makes big changes in your existing execution plans. Just to pick a number, say 99% of your queries go faster, but 1% go slower. Do you know which 1% they are, and what you’re going to do to mitigate their performance reductions? You can’t just test your slow queries on 2019: you’ve also gotta test your currently-fast queries to make sure they don’t slow down unacceptably.
  • You heavily rely on user-defined functions – because 2019 can dramatically speed those up, although you need to do a lot of testing there, and be aware that Microsoft has walked back a lot of the improvements.

As of 2023, SQL Server 2019 has the biggest installation base. It’s a really good bet for long term support.

You should consider SQL Server 2022 if…

First off, I don’t think you should. SQL Server 2022’s flagship feature still isn’t ready yet. But if you still want 2022, consider it only if:

  • You need the absolute longest support – because 2022 is supported until 2033, whereas 2019’s support ends in 2030.
  • You’re willing to apply patches every 30 days – because on new releases like this, the patches are coming fast and furious, and they fix some pretty significant issues, especially with brand-new features. Odds are, if you’re going to a brand-spankin’-new version in the year it releases, it’s because you desperately need the new features. Well, those are the least-tested, and they’re the ones getting the most urgent fixes – thus the need for frequent patching.
  • You’re okay with serious bugs in those patches – because 2022’s first several Cumulative Updates have been pretty buggy, and at the moment, the fix is to uninstall the CUs, which means you’re unprotected from other bugs.
  • You have a good relationship with Microsoft – like if you’re an enterprise customer with your own account manager, and they can help rapidly escalate your Premier support tickets.
  • Your DR plan is Azure Managed Instances – because at some point, 2022 will theoretically make it possible to fail over to MIs, and more importantly, fail back when the disaster is over. I say theoretically because this feature is still in limited public preview, and you have to contact Microsoft to get it.
  • You don’t need query performance monitoring – because the parameter-sensitive plan optimization changes in compat level 160 basically breaks monitoring tools.

In summary, you can tell that I’m kinda nervous about the state of SQL Server 2022 right now.

So sánh sql server 2008 và 2023
Is it supposed to smell this bad?

So what’s the right answer?

When I look at that list in late 2023, SQL Server 2019 makes a pretty compelling case for most folks. It’s a good balance of new features, stability, and long shelf life.

In most shops, where folks are overworked and can’t upgrade every server every year, I can see installing 2019 today, and then seeing how 2022’s patch release goes, and holding out for the next version after 2022.