What kind of hardware can you buy for one core’s worth of Enterprise Edition?

Dell R730
Dell R730

Microsoft charges $14,256 for a 2-core pack of SQL Server 2016 Enterprise Edition.

So how much hardware can we get for $7,128?

I started with one of the more common 2-socket server models, a Dell PowerEdge R730, and then optioned it with:

  • Chassis – up to 8 2.5″ drives (because 2.5″ drives aren’t just the future, they should be your default today)
  • Two Intel Xeon E5-2637 v4 – quad core, 3.5GHz – I splurged $995.41 to get the second processor
  • Four 32GB RDIMMs – that’s 128GB memory
  • PERC H730P RAID controller – a $605.05 step up, and I felt a little guilty about this, but I’m assuming that you’re going to add more drives over time, and I want the best storage throughput I can get from the vendor
  • Two 200GB SSD boot drives – which sounds crazy to do SSD on a boot drive, but c’mon, they’re only $174.31 apiece, which is less than the magnetics, and gives you enough space to house Windows Updates
  • Two 480GB SSD MLC drives – at $376.22 each – as a mirrored pair for
  • Redundant power supplies – $181.71, but a common sense safety measure for database servers
  • Total: $7,196.71 (plus tax, shipping, etc)

That’s a lot of hardware horsepower for the cost of just one core of Enterprise Edition.

Wanna go wild and crazy and buy two cores worth?

Take that same starter box, and throw in some power-ups:

  • Upgraded redundant power supplies – $60.58 extra to handle the…
  • 512GB RAM – gonna need another 12 memory sticks for $5,806.92, which sounds like a lot, but now we’re caching pretty large databases in RAM, avoiding writes to TempDB, and giving queries plenty of room for workspace
  • That brings us to $11,128.55 from Dell, leaving us $3,127.45 change left over, which I’ll use for…
  • Two 800GB Intel P3700 PCI Express SSDs – each just $1,277.02, a crazy deal for their rockin’ performance, and we’ll mirror them together for even faster reads (and leave the two 480GB SSDs for TempDB or logs or whatever, hey, who cares, hardware is cheap)
  • Total: $13,682.59

And take the remaining change and buy yourself some nice training and a tasty dinner.

SQL Server Enterprise Edition makes great hardware look cheap.

I’m not saying Enterprise Edition is overpriced – I think it’s completely fair given its amazeballs capabilities. The problem I have is with people who pour all their money into licensing and proceed to install it on something with less cores, memory, and solid state space than a Microsoft Surface.

When you’re struggling with performance management on a 4-core Enterprise Edition VM, wheezing with 16GB RAM, storing data on spinning rusty frisbees, spending weeks of developer time trying to rewrite legacy code, take a break and run some numbers:

  • How much do your developers and DBAs cost per day?
  • How many days have they spent working on the performance issue?
  • How much have you paid in Software Assurance over the last couple of years?
  • How much would your hardware cost today to replace? (Not what you originally paid for it.)
Previous Post
Bad Idea Jeans: Dynamically Generating Ugly Queries and Task Manager Graffiti
Next Post
[Video] Office Hours 2016/08/10 (With Transcriptions)

13 Comments. Leave new

  • This post happened to be super relevant to what I’m dealing with (oh, the joys of Microsoft licensing!). Along with the crazy hardware, there’s some things on Enterprise edition that data shops like mine can’t live without; the biggest being compression and column-store indexing.

    Plus, Sharepoint…it’s always Sharepoint.

  • So on your $7,196.71 of hardware, wouldn’t you need to spend $57,042 for SQL licensing(8 cores of cpu=4 x $14256). Still seems expensive to me.

  • You say that MSSQL Enterprise makes hardware look cheap, but Oracle Database Enterprise (with whatever features you care to buy) makes even the MSSQL itself look cheap too 🙂 Since a core of MSSQL Enterprise costs us just under 30% of what a core of Oracle Enterprise costs (at list price – then you tack on the engine features like tuning and partitioning, which cost even more), MSSQL Enterprise seems like a rocking deal already – the hardware is a rounding error on either set of licensing (more so with Oracle), so it’s always been worth it to buy the best you can afford.

    No sense buying database licensing in the high 5 digits and then skimping on the hardware to save a few thousand dollars!

  • Here is a web app Brent should make. Kind of like a mortgage rate calculator. You plug in the hardware setup and choose your licensing and starts calculating hardware and software costs as you change the variables. Brent could sell this and then retire to his island kingdom

  • Alexandre Araujo
    August 12, 2016 12:13 pm

    Great article Brent, i think the price of hardware continued to drop due to the effect of cloud trends. There is sort of legacy code that it’s more wise buy new hardware instead put money into licensing.

    Which is best features from enterprise for legacy code ? In Memory OLTP ?

    • Alexandre – generally, moving to in-memory OLTP requires code changes, so that’s not really a good fit for legacy code. When you say legacy code, that usually means you can’t change it (or at least can’t change it easily), so the biggest/quickest/easiest benefit of Enterprise Edition is the ability to cache more data in RAM.

  • Bradley Stiritz
    August 12, 2016 6:32 pm

    >Two 200GB SSD boot drives – which sounds crazy to do SSD on a boot drive…

    With respect, not crazy at all IMHO. I have done exactly this on two hard-core machines. SSD boot drives are several times faster than HD to get through the entire Windows boot process (NTLDR to steady-state baseline disk access rate), particularly if one is logging into Windows. That’s a definite advantage given nightly power cycles.

    Furthermore, two boot drives on a dedicated RAID controller gives me additional confidence to handle a range of unexpected hardware issues.

  • Brent, you didn’t finish your 6th dot point for why you chose
    Two 480GB SSD MLC drives – as a mirrored pair for…..

    I am guessing TempDB…? 🙂

  • Great blog post! I really enjoy and appreciate all the hard work your team do for the community.

    Reading the specifications of the second machine, spec’d with 512GB RAM to allow caching large databases in RAM and avoiding writes to TempDB. Using MS SQL 2016 Standard with its limit at 128GB RAM, on what I’ve read and my understanding the extra memory wouldn’t be fully utilized?

    • Hi David! That’s mostly correct, but starting with SQL Server 2012 the memory limit is for the buffer pool only. SQL Server is able to use memory above that limit for other caches and operations. For instance, it was pretty common for me to request 96GB of RAM on a 2012 Standard box and set max memory to 88GB or so.

      If you’re storing way more data than you have memory, check your wait stats to see if you’re spending a lot of time reading pages from disk.

  • Totally true. We had a whole bunch of contractors for SAP HANA trying to convert lots of data and we kept trying to get more memory. We finally got a dedicated half height blade after months of being ignored or small incremental improvements or saying something would be given and then changing their mind and wanting more analysis. But the most memory was half of what the blade had. Keep in mind it was dedicated and we could see that was the only virtual server on it.
    When I think of the contractor dollars and employee dollars and the impact on the project timelines I just have to sigh and laugh it off. No matter what meetings I had and what was conveyed the VMware admins just want to be super stingy with the resources and not given even when you are showing the improvement. I struggle with it but cannot really do much about it. “Lets find a HANA expert and have Microsoft analyze it and ….”. And then still discount recommendations.
    Very penny wise and dollar foolish.


Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.