Posted By: yman | Jul 9th, 2006 @ 1:01 PM
page 1 of 2
Comments: 46 | Views: 24932
If you have a SQL server which is licensed on a user CAL basis and you are using it as the db for your asp.net web app, would you need a CAL for the amount of users accessing your asp.net app per second? 
W3bbo
W3bbo
The Master of Baiters
In theory, another argument is that SQL Server CALs are for Client Applications or actual SQL Server Logins (I understand Microsoft explicitly said this isn't the case). Most people just get Per-processor licenses, which aren't that expensive, something like £2,000 for Standard Ed.
Tensor
Tensor
Im in yr house upgrading yr family
W3bbo wrote:
In theory, another argument is that SQL Server CALs are for Client Applications or actual SQL Server Logins (I understand Microsoft explicitly said this isn't the case). Most people just get Per-processor licenses, which aren't that expensive, something like £2,000 for Standard Ed.


Correct - multiplexing of any type is stricltly prohibited. Therefore, if you were working on CAL basis you would need a license for each desk using your application. For an internal corporate web app with a small number of users this might be feasible but of course for a public website, you can forget it. Its per-processor licensing for you.
Another_Darren
Another_Darren
... than you can shake a stick at
I thought you had to have a 'per processor' licence for the SQL Server and a 'device' licence for each IIS/asp.net server accessing it.
W3bbo
W3bbo
The Master of Baiters
Another_Darren wrote:
I thought you had to have a 'per processor' licence for the SQL Server and a 'device' licence for each IIS/asp.net server accessing it.


No, it's:

Windows Server:
Per-User or Per-Connection

SQL Server:
Per-Processor or Per-User

Terminal Server
Per-User or Per-Device

I don't know about Exchange though
I was on the horn with MS Licensing for almost an hour figuring out how to license SQL Server for a simple web application.  Basically you need a CAL for every user that is accessing information from your SQL Server Db.  As you can imagine, it ends up being much cheaper to go the per-processor route. 

If you SQLEXPRESS is too hobbled for you (performance wise), you will have to shout for one or more processor licenses.  As I see it we have 2 choices if we want to use SQL Server in our web-apps:

1. Use SQLEXPRESS and suffer a performance hit; cost: nothing

2. Use SLQServer 2005 and get way more features than you need for a simple web app but get reasonable performance; cost: too much

Of course there is a 3rd choice.... dare I say it.... go with MySQL or Postgres (which runs natively on Windows now).  This is what we have been forced to do since all of our clients are in developing countries.  If you have the money and need all features of SQL Server 2005 then its well worth the cost. 

WHAT WE REALLY NEED IS A BAREBONES SQLSERVER WITH NO PERFORMANCE GOVERNERS SPECIFICALLY FOR WEB APPLICATIONS!!!

I personally will keep pushing SQL Server to those that can afford it because it is quite simply the best database engine out there.  I would just like to see its market share increase dramatically especially in the developing world.  After all, that is an untapped market with huge potential.

FYI - I just held a workshop in South America where representatives from 14 government agencies and one University attended.  Number of them using SQL Server: 0, number using MySQL: 15.  You see, labour is cheap, software is expensive.

Does anyone have any idea how the DB2 licensing compares to SQL Server - in terms of cost?
W3bbo
W3bbo
The Master of Baiters
semantica wrote:
WHAT WE REALLY NEED IS A BAREBONES SQLSERVER WITH NO PERFORMANCE GOVERNERS SPECIFICALLY FOR WEB APPLICATIONS!!!


I don't know, SQL Server per-processor licensing isn't that expensive.

$2,000 for a whole server, that could service 200+ web-application's database needs, that's only $20/application

The server would need to be on its own machine to make the most use of the license, but that's probably better than running it all on localhost.

If they were going to make a "SQL Server 2005 Web-Application Edition" it would have be licensed on a per-site basis, since each site might use one, possibly two databases, you can finance it out at about $2.50/database to be cost-effective versus SQL Server 2005 Standard.

Actually, that's how SQL Server should be licensed anyway, on a per-database basis, rather than aribtrary per-user or per-processor basi.
The performance is actually quite good.  But it only utilizes one processor and up to 1Gig of RAM.  Hardly enough for any decent site.
W3bbo wrote:

semantica wrote: WHAT WE REALLY NEED IS A BAREBONES SQLSERVER WITH NO PERFORMANCE GOVERNERS SPECIFICALLY FOR WEB APPLICATIONS!!!


I don't know, SQL Server per-processor licensing isn't that expensive.

$2,000 for a whole server, that could service 200+ web-application's database needs, that's only $20/application

The server would need to be on its own machine to make the most use of the license, but that's probably better than running it all on localhost.

If they were going to make a "SQL Server 2005 Web-Application Edition" it would have be licensed on a per-site basis, since each site might use one, possibly two databases, you can finance it out at about $2.50/database to be cost-effective versus SQL Server 2005 Standard.

Actually, that's how SQL Server should be licensed anyway, on a per-database basis, rather than aribtrary per-user or per-processor basi.


Here are the costs as posted on the SQL Server web site:

SQL Server 2005 Pricing Comparison: Retail versus Example Pricing
  Processor License   Server plus User/Device CALs  
  Retail Pricing* Example Pricing** Retail Pricing* Example Pricing**

Express Edition

Free

Free

Free

Free

Workgroup Edition

$3,899

$3,700

$739 with 5 Workgroup CALs

$730 with 5 group Workgroup CALs
$146 per additional Workgroup CAL

Standard Edition

$5,999

$5,737

$1,849 with 5 CALs

$885 per Server
$162 per CAL

Enterprise Edition

$24,999

$23,911

$13,969 with 25 CALs

$8,487 per Server
$162 per CAL


MB
MB
semantica wrote:
I was on the horn with MS Licensing for almost an hour figuring out how to license SQL Server for a simple web application.  Basically you need a CAL for every user that is accessing information from your SQL Server Db.


In a typical IIS-SQL scenario... there are only 2 users that access the database...

1. User  (your typical website reader)
2. Admin (your typical website admin)

Your site might vary with a few more specific user types, but basically, it's your asp application which controls the request to SQL, not the requests to IIS... as the IIS users have no idea they need an SQL connection.

Of course... a whole bunch of people access IIS... but it's up to you to detirmine how you manage the IIS-->SQL thing.
blowdart
blowdart
Peek-a-boo
MB wrote:


In a typical IIS-SQL scenario... there are only 2 users that access the database...

1. User  (your typical website reader)
2. Admin (your typical website admin)


Nice try, but you're mixing up "users" and "logins". That's not how its licensed. The licensing still needs a CAL per "each distinct device or user to the multiplexing or pooling software or hardware frontend"

If you have an internet based application per CPU licensing is pretty much the only way to go (unless you know you will have <25 users for the lifetime of the product)
Tensor
Tensor
Im in yr house upgrading yr family
semantica wrote:
WHAT WE REALLY NEED IS A BAREBONES SQLSERVER WITH NO PERFORMANCE GOVERNERS SPECIFICALLY FOR WEB APPLICATIONS!!!


Errr, what would you have them strip out?




semantica wrote:

FYI - I just held a workshop in South America where representatives from 14 government agencies and one University attended.  Number of them using SQL Server: 0, number using MySQL: 15.  You see, labour is cheap, software is expensive.



I allways wonder wht, whenthe talk turns to database servers, the only "free"one hat gets talked about is MySQL. Has PostgreSQL completely dropped off peoples radar? IMHO its miles better...
MB
MB
blowdart wrote:

MB wrote: 

In a typical IIS-SQL scenario... there are only 2 users that access the database...

1. User  (your typical website reader)
2. Admin (your typical website admin)


Nice try, but you're mixing up "users" and "logins". That's not how its licensed. The licensing still needs a CAL per "each distinct device or user to the multiplexing or pooling software or hardware frontend"

If you have an internet based application per CPU licensing is pretty much the only way to go (unless you know you will have <25 users for the lifetime of the product)


No, I'm not mixing them up... I fully understand the difference.

The point is... what constitutes a distinct device and/or user ?? MS are extremely fuzzy on this one, and seem to take the line, it's whatever gets us the most money.

I think that MS is on a hiding to nothing with this one... as you can structure this argument however you like, depending on which side of the money tree you are on.

e.g. I have a setup where all the requests to the IIS server (which accesses the SQL server) all have the same IP address... just different port numbers... because they are being routed through an external gateway, that is not under my control.
blowdart
blowdart
Peek-a-boo
MB wrote:

The point is... what constitutes a distinct device and/or user ?? MS are extremely fuzzy on this one, and seem to take the line, it's whatever gets us the most money.

e.g. I have a setup where all the requests to the IIS server (which accesses the SQL server) all have the same IP address... just different port numbers... because they are being routed through an external gateway, that is not under my control.


What exactly is so fuzzy? You're attempting to play semantic games. The licensing rules are quite clear, even for IIS setups. An IIS box is a multiplexing server, and so, if you head down CAL, you need a license for each user or each device accessing IIS which causes IIS to access the SQL server.

Why on earth would have different port numbers and the same IP address make a difference to this? It's about client accesses, not about IPs. And none of this is new either.
W3bbo
W3bbo
The Master of Baiters
Tensor wrote:

semantica wrote:WHAT WE REALLY NEED IS A BAREBONES SQLSERVER WITH NO PERFORMANCE GOVERNERS SPECIFICALLY FOR WEB APPLICATIONS!!!


Errr, what would you have them strip out?


I was hoping for a return to the "honor system"
blowdart wrote:
Nice try, but you're mixing up "users" and "logins". That's not how its licensed. The licensing still needs a CAL per "each distinct device or user to the multiplexing or pooling software or hardware frontend"

I need more clarification here:

If there's a website developed using LAMP . The website owner later determined that the company had better use Windows workstations and server as the backend, so they want to install a SQL2005 server and have a service drain the data from the MySQL database to MSSQL server.

When he want to purchase the CAL for SQL server, does he need to take the usage of web server into consideration?

1) No. Because it's a server to server data transfer.
2) 1 additional license of the "windows service" connection is needed.
3) All the user of the website need to be taken in account because no matter how many tiers is involved, the user still counts. So per-CPU licensing is the only sensible way to go.
4) Others.

Which of the above is the answer?

From your quoted site it seems (3) is the answer, but to me (2) would sound more fair...
blowdart
blowdart
Peek-a-boo
cheong wrote:

I need more clarification here:

If there's a website developed using LAMP . The website owner later determined that the company had better use Windows workstations and server as the backend, so they want to install a SQL2005 server and have a service drain the data from the MySQL database to MSSQL server.

When he want to purchase the CAL for SQL server, does he need to take the usage of web server into consideration?

1) No. Because it's a server to server data transfer.
2) 1 additional license of the "windows service" connection is needed.
3) All the user of the website need to be taken in account because no matter how many tiers is involved, the user still counts. So per-CPU licensing is the only sensible way to go.
4) Others.

Which of the above is the answer?


I need more clarifcation. In your scenario is the MS SQL Server just pulling data out of MySQL? What exactly is accessing it?

If, as I think you are saying, it's a service somewhere it would depend. If you did it via DTS on the SQL server, no extra CAL needed. If you did it as a service on the SQL server that's interesting, my gut says no cal because the server is already licensed with the install. If you are running it as a daemon on the LAMP server then one user CAL.

Your scenario doesn't seem to imply the web users get access to the SQL server at all.


MB
MB
blowdart wrote:

MB wrote: 
The point is... what constitutes a distinct device and/or user ?? MS are extremely fuzzy on this one, and seem to take the line, it's whatever gets us the most money.

e.g. I have a setup where all the requests to the IIS server (which accesses the SQL server) all have the same IP address... just different port numbers... because they are being routed through an external gateway, that is not under my control.


What exactly is so fuzzy? You're attempting to play semantic games. The licensing rules are quite clear, even for IIS setups. An IIS box is a multiplexing server, and so, if you head down CAL, you need a license for each user or each device accessing IIS which causes IIS to access the SQL server.

Why on earth would have different port numbers and the same IP address make a difference to this? It's about client accesses, not about IPs. And none of this is new either.


Now we are getting your interpretation... not what MS says.

MS talk about devices and users... but don't define exactly what that means or doesn't mean.

MS are most UNCLEAR about all of this, and personally... I'm in absolutely no hurry to pay MS 1c more than I absolutely must.

Edit: The point here is... while you know of IP addresses and ports... you do NOT know of devices and users... and yet MS define the rules by devices and users.
blowdart
blowdart
Peek-a-boo
MB wrote:

Now we are getting your interpretation... not what MS says.

MS talk about devices and users... but don't define exactly what that means or doesn't mean.

MS are most UNCLEAR about all of this, and personally... I'm in absolutely no hurry to pay MS 1c more than I absolutely must.


No we're not; it's pretty darned clear to my mind;

Processor license. Optimized for customers building business-to-business (B2B), business-to-consumer (B2C), and business-to-employee Web-based applications. A single license is required for each CPU in the operating system instance running SQL Server. This license does not require any device or user client access licenses (CALs).

Server plus device CALs. Optimized for non-Web-based scenarios in which there are multiple users per device (for example, kiosks). A license is required for the computer running SQL Server 2005, as well as a CAL for each client device.

Server plus user CALs. Optimized for non-Web-based scenarios in which there are multiple devices per user (for example, a laptop, PDA, and home PC). A license is required for the computer running SQL Server 2005, as well as a CAL for each user.


A user is that, a user, a physical person. A device is that, a physical device. Really what's so unclear?
MB
MB
blowdart wrote:

MB wrote: 
Now we are getting your interpretation... not what MS says.

MS talk about devices and users... but don't define exactly what that means or doesn't mean.

MS are most UNCLEAR about all of this, and personally... I'm in absolutely no hurry to pay MS 1c more than I absolutely must.


No we're not; it's pretty darned clear to my mind;

Processor license. Optimized for customers building business-to-business (B2B), business-to-consumer (B2C), and business-to-employee Web-based applications. A single license is required for each CPU in the operating system instance running SQL Server. This license does not require any device or user client access licenses (CALs).

Server plus device CALs. Optimized for non-Web-based scenarios in which there are multiple users per device (for example, kiosks). A license is required for the computer running SQL Server 2005, as well as a CAL for each client device.

Server plus user CALs. Optimized for non-Web-based scenarios in which there are multiple devices per user (for example, a laptop, PDA, and home PC). A license is required for the computer running SQL Server 2005, as well as a CAL for each user.


A user is that, a user, a physical person. A device is that, a physical device. Really what's so unclear?


Hey, it can be as clear as you like IN YOUR MIND ...but that doesn't make you correct.

At the server end... how do I know what is a device and what is a user?? multiple users on an internet cafe device... a user with multiple accounts ?? a user running multiple sessions on a single device...? a proxied lan with multiple devices and users...?

MS talk about devices and users... and then expect you to take the line... if in doubt, pay more... well... excuse me for taking the line... if in doubt, pay less.
blowdart
blowdart
Peek-a-boo
MB wrote:


At the server end... how do I know what is a device and what is a user?? multiple users on an internet cafe device... a user with multiple accounts ?? a user running multiple sessions on a single device...? a proxied lan with multiple devices and users...?

MS talk about devices and users... and then expect you to take the line... if in doubt, pay more... well... excuse me for taking the line... if in doubt, pay less.


How do you know? Well surely you know what's connecting to your server; if you don't then I think you have larger problems that trying to avoid licensing fees Big Smile


MB
MB
blowdart wrote:

MB wrote: 

At the server end... how do I know what is a device and what is a user?? multiple users on an internet cafe device... a user with multiple accounts ?? a user running multiple sessions on a single device...? a proxied lan with multiple devices and users...?

MS talk about devices and users... and then expect you to take the line... if in doubt, pay more... well... excuse me for taking the line... if in doubt, pay less.


How do you know? Well surely you know what's connecting to your server; if you don't then I think you have larger problems that trying to avoid licensing fees




LOL... be that as it may... as I said before... MS are on a hiding to nothing with their use of "device" and "user" to define the need for cals... as the whole thing is so fuzzy and open to "interpretation", when dealing with an external network.

Sure... it might be stretching the bounds of credulity at times, to suggest that that you have absolute no idea what "might" be happening... but the point is that you can't be "certain" of what is or is not happening.

MS have not nailed down what "user" and "device" actually means, in a definition that cannot be argued with, and yet expect you to pay on that basis anyway.

For example.... a user connecting through a proxied lan, over the internet... the same user and/or device might have multiple ip-port combinations and/or might have multiple accounts, but be the same user... when do they cease to be a single user and/or a single device ??

The MS response is... play it safe and pay more, just in case. Expressionless

That's a simple enough answer... when someone else is paying the bill.
page 1 of 2
Comments: 46 | Views: 24932
Microsoft Communities