Possible Duplicate:
Can you help me with my software licensing question?

Running a SQL Server, as far as I understand it, you need one CAL for every user who connects to the database server.

But what happens if the only computer which is accessing the SQL Server is the server running your business layer?
If, for example, you got 1 SQL Server and 1 Business logic server, and 100 Clients who all just query and use the business logic server. No client is using the SQL Server directly, no one is even allowed to contact it.
So, since there is only one computer using the SQL server, do I need only 1 CAL???

I somehow can't believe this would count as only 1 CAL needed for the SQL Server, but I would like to know why not.


You need CAL's for every user of the business logic server, even though there is no direct connection between them and the SQL server. Microsoft use the term "multiplexing" for the scenario you describe.

This is for SQL 2005 but I don't think it is any different for other versions:

A CAL is required for each distinct device or user to the multiplexing or pooling software or hardware front end. This remains true no matter how many tiers of hardware or software exist between the server running SQL Server and the client devices that ultimately use its data, services, or functionality. An exception to this includes the manual transfer of data from employee to employee. For example, if an employee sends a Microsoft Excel version of a report to another employee, the receiving employee does not require a CAL. An additional exception is communication exclusively between the servers running SQL Server.

Anyone using your Application has to be covered by a CAL, including someone who uses it solely to generate Excel Reports but someone who only receives a copy of one of those Excel Reports by e-mail doesn't.

Edited to add This is just one of many aspects of SQL server licensing and it's only relevant if you choose the Server+CAL licensing model. If you want to get a full understanding of all of the alternatives the definitive document is Microsoft's 63 page SQL Server 2008 Licensing Guide which covers all licensing models and approaches.

  • Thanks - this is what I expected, I just wanted to make sure I'm not mistaken (just in case a customer asks). And trying to read licensing guides always makes me fall asleep :) – Sam Mar 9 '10 at 11:09

Helvick said it all, but I just wanted to add that for your scenario it might be best to go with a processor licensing model, so you would need to pay for each processor on the database server rather than for each client accessing the server. Depending on how many cores your Server has and how much you expect traffic to rise the per processor route could be cheaper.

EDIT: Per Microsoft, Processor Licensing is per-processor, not per-core. So if you have an 8-core processor, you still just need one license, so long as it's a single chip/socket. (In the whitepapers for SQL 2008, they actually make it a selling point, saying that Oracle and others often charge per-core.)

  • Yes, of course. If I choose a proc or peruser licence will be decided from case to case, depending on the user count and stuff. – Sam Mar 9 '10 at 11:12
  • 2
    Note that while this was true when it was posted, licensing is now per-core rather than per-processor. (But every processor counts as at least four cores even if it actually has less. Go figure.) – Harry Johnston Jul 25 '16 at 3:13

On top of that note that there is different licensing available for internet facing systems - so you dont have to limit the users. Either you grab an internet license (for external users), or actually license through SPLA (Service Provider Licensing Agreement) in those cases.

In your particular case, you would need (if the requirements are accurate) exactly 100 licenses.

100 users, though - may not require ANY CAL - if you can run it on SQL Server Express. The limits are very ok for most scenarios... 4gb per database is quite a lot for many cases.

  • Well, actually most of our clients have less users but much bigger databases, so express would not cut it (actually we tried to use Express first). – Sam Mar 9 '10 at 11:13
  • Ah, ok - ;) Sad, financially, but ok. Happens. Depends basically on waht you store... – TomTom Mar 9 '10 at 11:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.