Would You Choose SQL Server?

I recently wrote a piece on the limitations of the Standard Edition (SE) of SQL Server and got an interesting comment from Brent Ozar. He asked me a question as a businessperson that I found intriguing and it’s one I thought might be worth thinking about it a bit.

Imagine that you are a manager or director or a firm, or even the founder/owner of a small startup business. You are looking to build some application. Maybe you’ll sell it, maybe it’s a service you sell on the web or with a mobile application. You have people that are good .NET developers, and hopefully a DBA, and you need to choose a database to store data and allow you to run reports. The database is important to the application; no flat files or XML stand-ins. The question Brent asked me, and I’m asking you is:

Would you use SQL Server?

Before you answer, remember that you need to buy 4 cores worth of licensing for SQL Server. For Standard Edition, that’s $8,000 at list price. You might find discounts, but since an SE-maxed out, 64GB RAM server can be had for a little over $2,000. If you needed a second server, those prices double. If you want more than 4 cores (8 are common in many servers), the cost goes way up.

I think SQL Sever is a fantastic product, but it can be expensive. Back when SQLServerCentral started, we considered MySQL or PostgreSQL as alternatives, strictly because of licensing. $10k for software licensing is a lot for a small company, and it can substantially impact a budget. However the cost of working with another platform might be significant as well. A developer can cost more than $10,000 a month, and if you lose much time in building your software (or administering the server) because of the platform, that $10k in licensing costs could evaporate quickly.

As much as I like SQL Server, and I’d like to use it, I’d consider alternatives such as PostgreSQL for a simple, core database back end. That’s if I weren’t tackling any problems that needed subsystems like SSIS or SSRS. The more features I’d use in SQL Server, the more likely I think the licensing isn’t a huge cost. However when budgets matter, and you have staff that won’t be overly challenged in managing other platforms, I’d consider another platform with the high, per core cost of SQL Server.

Steve Jones

Video and Audio versions

Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

Follow Steve Jones on Twitter to find links and database related items and announcements.
Steve Jones Windows Media Video ( 20.4MB) feed

MP4 iPod Video ( 24.3MB) feed

MP3 Audio ( 4.8MB) feed

Feeds are available at iTunes and Mevio

To submit an article, rant or editorial,
log in to the Contribution Center

The Standard Limitation

Is 64GB of RAM enough for a SQL Server instance? It was in the past for most servers that I’ve developed software on or administered. These days I know some people have 2TB of RAM in their big database servers, which makes 64GB seem paltry. After all, I’ve had 32GB in a laptop before. However I know most of the SQL Server databases out there, in absolute numbers, are fairly small. In the low GB in size. I’d think 64GB isn’t too much for these.

The reason that number comes up is that it’s the limitation for SQL Server’s Standard Edition (SE), and apparently, it’s my fault the number is set so low. Not just my fault, but all of you out there that keep buying SQL Server licenses. I’m not sure I agree with Brent’s verbiage, but I do agree with his conclusion. As long as SQL Server sells, and it’s selling well, why wouldn’t Microsoft push people to buy Enterprise Edition and pay more to use larger servers?

Personally I think we should be charged by the scale of the system we use, rather than this weird, limited feature/scale list that MS has. They could easily say that SQL Server is $2000/core and $500/4GB. They could play with the numbers and come up with something that might be cheaper for some, more expensive for some, but it would allow us to easily buy more capacity and pay more as we needed to add hardware.  That’s how the cloud works, and even how many of our virtualized systems work. Want to move from 4 cores and 16GB of RAM to 16 cores and 64GB of RAM? Flip some switches. Depending on the version of Windows, you might not even need to reboot.

I know some of you think SQL Server should be $5000 and we put it on any size hardware we like, but that’s certainly not going to happen in today’s world. We tend to value computing resources by scale, and I think that’s a reasonable way to examine software.

Steve Jones

Video and Audio versions

Today’s podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

Follow Steve Jones on Twitter to find links and database related items and announcements.
Steve Jones Windows Media Video ( 16.9MB) feed

MP4 iPod Video ( 20.4MB) feed

MP3 Audio ( 4.1MB) feed

Feeds are available at iTunes and Mevio

To submit an article, rant or editorial,
log in to the Contribution Center

What’s a Passive Server?

Licensing software is often a more complicated process than I think it should be. Licensing database software seems to be even more difficult to understand, especially when you start to talk about the various high availability (HA) scenarios, virtualized  servers, separate machines to process SSIS packages and who knows what other configurations, not to mention the licensing changes with each new version of SQL Server.

I was following a licensing debate  about how you license passive servers in an HA situation. I have always understood from the SQL Server licensing documents that if you have a passive server, it does not require a license for the SQL Server software. However it’s not that simple, or at least, it doesn’t appear that way to me.

Suppose you have an primary instance that mirrors its database to another server. The mirror instance doesn’t need a license for that database, but what about if you also log ship your primary database to a third server? Does the third server need a license if it’s also “passive”? I assume that if you had second database on the mirror instance being used for another application, you’d need a license for that instance, but what if you only have a “DBA database” that gathers performance monitoring information for that mirror database? Is that “passive”?

Suppose I have a 6 node cluster, and I have 4 active nodes and two passive ones, do I still have 2 other “passive” licenses for log shipped servers? Or can I log ship to 4 separate servers? That doesn’t even bring this clause into play:  “The passive server can take the duties of the active server for 30 days. Afterwards, it must be licensed accordingly” (from 2005 licensing). It almost feels like I am studying some type of Microsoft Internal Licensing Framework in preparation for some type of certification.

To me, the simple way to handle this is to say that passive servers, those not doing any work for the business that owns them, don’t require a license. The exception would be for internal monitoring or maintenance on the passive server (backup restores, DBCC checks, DBA sysadmin monitoring). I doubt we’ll get something that simple, but that’s what I think would be fair.

Steve Jones

(originally published at http://www.sqlservercentral.com/articles/Editorial/72338/)


The Voice of the DBA Podcasts