SQL Server License cost

  • This is regarding SQL Server License cost to be calculated for our product. The details are below:

    We are developing a product in which we have used SQL Server 2008 R2 server, SSIS for ETL, created reports using SSRS. This product is basically a reporting tool for users for a specific domain.

    Now we have used 2 machines for the deployment. On one machine, we have SQL Server database instance and configured SSIS & SSRS (Web based portal) on another machine. Users are accessing the reports through the browser. We have around 100 users (but concurrent 20 users).

    Both the server have single processor.

    So how about the license cost. I have used enterprise version of the SQL Server 2008 R2.

    Can I just buy 1 SQL server license based on per server (around 8,600 USD) for database instance and 1 Server CAL (160$) for another machine SSIS / SSRS?

    OR

    Do I have to buy 1 SQL Server license based on per processor (around 28,000 USD) and 1 Server CAL (160$) for another machine SSIS / SSRS?

    Please guide. Thanks in advance for the responses.

  • If you go CAL, you'll need 100 CALs. You have 100 users accessing the database, the IIS server is not the user.

    If you go processor, you'll need 2 licences, one for the database server and one for the server SSRS is on (it's only free if installed on a server that's got a licenced SQL instance)

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • GilaMonster (10/13/2011)


    If you go CAL, you'll need 100 CALs. You have 100 users accessing the database, the IIS server is not the user.

    If you go processor, you'll need 2 licences, one for the database server and one for the server SSRS is on (it's only free if installed on a server that's got a licenced SQL instance)

    2 Processor License: 8,600 * 2 = 17200 USD

    100 CALs: 100 * 160 = 16000 USD (may get discounts for 100 CALs)

    Am I missing something here?

  • GilaMonster (10/13/2011)


    If you go CAL, you'll need 100 CALs. You have 100 users accessing the database, the IIS server is not the user.

    If you go processor, you'll need 2 licences, one for the database server and one for the server SSRS is on (it's only free if installed on a server that's got a licenced SQL instance)

    ohh. I was thinking that IIS server / SSRS services will be considered as a user and we will need to buy one license. Any way, i got my doubt clear.

    Another thing is, it will be very difficult to monitor the no. of users as they can increase in future OR same users are accessing the SSRS portal from different machines etc. So what should we do in this case?

  • Plug in your prices to see the tipping points between CAL et CPU :

    /*

    http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=153583

    Calculate_SQL_CAL_Break_Even.sql

    Description:Script to calculate the break even point for Processor vs. Server/CAL licensing

    To use this script:

    1. Enter the current Price_Per_Processor and Price_with_Server_CAL for each edition of SQL Server.

    2. Enter the current CAL price.

    3. Execute the script.

    */

    SET STATISTICS IO OFF

    set nocount on

    declare @Edition table (

    Editionvarchar(10) not nullprimary key,

    Price_Per_Processornumeric(10,2) not null,

    Price_with_Server_CAL numeric(10,2) not null

    )

    declare @cal_pricenumeric(8,2)

    -- Modify CAL price as needed

    select@cal_price= 115.00

    insert into @Edition

    selectEdition = 'Enterprise',

    -- Modify price as needed

    Price_Per_Processor= 18700.00,

    -- Modify price as needed

    Price_with_Server_CAL= 5800.00

    union all

    selectEdition = 'Standard',

    -- Modify price as needed

    Price_Per_Processor= 4900.00,

    -- Modify price as needed

    Price_with_Server_CAL= 655.00

    select

    a.* ,

    b.* ,

    CAL_Price= @cal_price ,

    CAL_Break_Even =

    convert(int,floor(((Price_Per_Processor * Processor_Count) - Price_with_Server_CAL)/ @cal_price))

    from

    @Edition a

    cross join

    (

    select Processor_Count = 1union all

    select Processor_Count = 2union all

    select Processor_Count = 3union all

    select Processor_Count = 4

    ) b

    order by

    a.Edition,

    b.Processor_Count

    print 'If CAL count > CAL_Break_Even, then processor license is cheaper.'

    print ''

    print 'Calculation for CAL_Break_Even = '

    print '( ( Price_Per_Processor * Processor_Count ) - Price_with_Server_CAL ) / CAL_Price'

    A couple more points.

    There is a clear cut line on the ms documentation. If the server is openly available to the web it automatically defaults to cpu licensing. I can't find the documentation right now so I'll forward you to do your own research.

    In your case if you were able to prove that only authenticated user can log in on the server (meaning it's not 100% open to the world which makes it impossible to count the users), then maybe Cal is an option.

    Finally it's not the concurrent # of connections that count. It's the total number of different people.

    So you can't just make a single login, give it to 3 or 100 persons and just buy 1 cal.

    Just like you can't use sql express as a passthru server to forward all request to the "real" server and only buy 1 cal.

  • Dev @ +91 973 913 6683 (10/14/2011)


    GilaMonster (10/13/2011)


    If you go CAL, you'll need 100 CALs. You have 100 users accessing the database, the IIS server is not the user.

    If you go processor, you'll need 2 licences, one for the database server and one for the server SSRS is on (it's only free if installed on a server that's got a licenced SQL instance)

    2 Processor License: 8,600 * 2 = 17200 USD

    100 CALs: 100 * 160 = 16000 USD (may get discounts for 100 CALs)

    Am I missing something here?

    Yes, there's no room for growth.

    Assuming the math is correct you're only 8 users from being better off with CPU (which is a very small increase from 100 to 108 over a few years).

    Also with cpu licensing, you can always shove 10K to buy a super powerfull quad proc 8 core xeon processor instead of a lower quad core machine.

    That way you pay nothing in extra license fees, but you can possibly pack anoter 1000 users on there.

  • So you can't just make a single login, give it to 3 or 100 persons and just buy 1 cal.

    Many organizations follow such practices. They create 1 login (SQL Login) and this login is shared by team members mostly for development purpose. Few organizations share it for production usage as well.

    Is it a violation of licensing term?

  • That way you pay nothing in extra license fees, but you can possibly pack anoter 1000 users on there.

    I didn't get quoted statement. Would you elaborate it please?

  • Dev @ +91 973 913 6683 (10/14/2011)


    So you can't just make a single login, give it to 3 or 100 persons and just buy 1 cal.

    Many organizations follow such practices. They create 1 login (SQL Login) and this login is shared by team members mostly for development purpose. Few organizations share it for production usage as well.

    Is it a violation of licensing term?

    100% yes.

    Now going into the grey zone. MS won't mind that you bought 5 dev licenses and that once in a while a 6th guy comes in for a consult.

    Nor will they mind that you paid 100K for the prod licenses and ignore to pay 1000$ for the test / qa server.

    That being said, you obviously know the right thing to do. Do what you can to make it happen (knowing you don't have the final say in this).

    Paying for 1 license in prod while clearly using it for 50 users is not going to go unpunished in a audit.

    And from what I heard, the penalties are pretty darn stiff.

    I've seen a case where the whole network is 99.9% legit (gettting there on a monthly payment plan or something like that).

    The dev & test servers where not licensed (for a total of 4-5 users), but since the whole company had a 99.9% pass, they let it fly by. The important point here is that we did everything we could to get legit and there were budget restraints and major steps had already been taken and we were respecting the deals made.

    Take any of those out and I'm pretty sure there would have been more noise over that point.

  • Dev @ +91 973 913 6683 (10/14/2011)


    So you can't just make a single login, give it to 3 or 100 persons and just buy 1 cal.

    Many organizations follow such practices. They create 1 login (SQL Login) and this login is shared by team members mostly for development purpose. Few organizations share it for production usage as well.

    Is it a violation of licensing term?

    I guess it would depend on whether it is a device CAL or a user CAL, and how they were actually sharing the login.

  • Dev @ +91 973 913 6683 (10/14/2011)


    That way you pay nothing in extra license fees, but you can possibly pack anoter 1000 users on there.

    I didn't get quoted statement. Would you elaborate it please?

    Let's say you have a server now with 4 cpus but you bought something cheap & 100 employees. Since it's 10-20% cheaper to go with cal licensing you choose that option.

    Tomorrow (or over 2-3 years) the cie hires 300% extra employees and the server becomes completely obsolete to meet the demand. If you paid via CALs, you now have to buy another 300 cals which makes no sense whatsoever. MS might give you a rebate when buying the CPU licenses then, but you still pay extra.

    If you go right away with CPU knowing you're borderline and that event happens. You can just buy a super powerfull server for maybe 10 - 15K, still with only 4 sockets and you don't have to pay anything extra because you ALREADY paid for 4 CPU (sockets, not total cores).

  • steveb. (10/14/2011)


    Dev @ +91 973 913 6683 (10/14/2011)


    So you can't just make a single login, give it to 3 or 100 persons and just buy 1 cal.

    Many organizations follow such practices. They create 1 login (SQL Login) and this login is shared by team members mostly for development purpose. Few organizations share it for production usage as well.

    Is it a violation of licensing term?

    I guess it would depend on whether it is a device CAL or a user CAL, and how they were actually sharing the login.

    That's 1 part I've never fully dived into. I always counted the # of physical persons using it.

    What I know for sure if that you can't disguise users into device cals like for my sql express exemple.

    If you were to have a public photo boot that plugs into an sql server. Then maybe I could see a case of device CAL rather than going with CPU. I personally would have to check with ms sales and get a written confirmation just to protect my arse.

  • if you had one machine in your office that had the sql tools and people shared the machine you could be okay.

    but i always feel that if people are trying ways to 'beat' the licensing system then it will usually be a violation of the terms somwehere.

  • steveb. (10/14/2011)


    if you had one machine in your office that had the sql tools and people shared the machine you could be okay.

    but i always feel that if people are trying ways to 'beat' the licensing system then it will usually be a violation of the terms somwehere.

    When's the last time you walked into an office with less than 1 computer per user??? Or even 1 computer overall?

    Where I consult now the average is over 2 (desktop, laptop, blackberry & all the shared servers).

    Yes I also feel that trying to beat the system is the best way to get a beating in an audit ;-).

  • if you had one machine in your office that had the sql tools and people shared the machine you could be okay.

    The snippet below is from 2008 SQL Licensing Overview. It clarifies the User CAL as # of Physical Persons (As Ninja said). I was under impression that User here is SQL Login or Database User. I got confused because I know one tool which has licensing terms this way.

    User CAL. A SQL Server User CAL is required in order for a user (employee, customer, partner, and so on) to access or use the services or functionality of Microsoft SQL Server.

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply