I run into people all the time that are confused about SQL Server licensing. Now I’m no licensing expert – not by a long shot – and you SHOULD NOT take this post as authoritative in any way. I don’t own the licensing story for Microsoft, not even a little. In fact, by the time you read this post, the model might have changed. The licensing site is the absolute authority – stick with that: http://www.microsoft.com/sqlserver/2008/en/us/licensing.aspx
But I think every DBA should know at least the basics on licensing, as as of the first part of 2009, here’s the simplified version:
You license the SQL Server no matter what. In other words, you have to buy SQL Server. From there, it’s all about how clients are treated. For each person that gets data from the database, you need a license. You can license by the processor, which means for each physical processor you pay for a license, and then any client you want, from anywhere, can connect. It’s the simplest model.
You can also license at the client, meaning each person gets a license, regardless of which SQL Server they hit, even at the same time. In other words, Buck is licensed, and he can hit any SQL Server we have, all at once.
You can license at the device, which means that computer can talk to that SQL Server. That means you need a license for each SQL Server that computer connects to – if you connect to two servers, you need two licenses.
You can buy the software once, and when you want to upgrade it, you buy it again. Or, you can buy an agreement that lets you upgrade whenever you want, and each year you pay a fee to do that. It’s usually the better bargain.
Which model and type should you get? How does this all work with Express? What about trying to use other editions in other ways? You’ll need to check with your salesperson. But hopefully now you can chat a little quicker.