SQL Client Access Licence requirements

  • Hi

    SQL 2008R2 Std Ed.

    We are having an internal debate on what does (does not) require a SQL CAL for the end user.

    We only use SQL for reporting..data being sourced from external (non SQL) dbs

    The majority of our users only require static non updatable reports and therefore, where we can, we would like to reduce our CAL licensing costs

    If there are any licensing "experts" prepared to comment on what we believe below, then it will be appreciated

    Scenarios

    MS Excel pivot table accessing a SSAS Cube....CAL required

    MS Excel directly querying SQL via MS Query...CAL required

    MS Access ADP linked to SQL...CAL required

    User accessing a static Excel file created thro TSQL/SSIS .....CAL not required

    user receiving an email generated via TSQL/SSIS ....CAL not required.

    Any access to SSRS...CAL required.

    Thanks.

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • From the doc "2008 SQL Licensing Overview final.docx":

    "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. The Server plus user CAL model will likely be more cost effective if there are multiple devices per user (for example, a user who has a desktop PC, laptop, PDA, and so forth).

    A CAL is not software; it is a legal document granting a device or user access to server software. A single device CAL grants access to multiple servers for one device (CAL must be same version as latest version of any of the servers). A single user CAL grants access to multiple servers for one user. "

    Also:

    "The Business Intelligence components for SQL Server 2008 include Analysis Services, Reporting Services, and Integration Services. To use any of these components, the server on which Business Intelligence is installed must have a valid SQL Server 2008 license. If these components are in a separate server than the main database server, then they require an additional license of each additional server where they are installed."

    I believe a user of SSRS fully fits within the definition and WHAT you connect to to report on is not relevant, you connected to SSRS, you are a user.

    For many businesses processor licensing is a better solution. Processor sockets, not cores IN the processor are licensed, ie 2 x 4 core processors is 2 processors not 8.

    CEWII

  • Elliott Whitlow (2/14/2012)


    From the doc "2008 SQL Licensing Overview final.docx":

    "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.

    CEWII

    Thanks Elliott,,,,we have read this doc and many others "views" on this subject.

    To try and be more specific...say for example we intend to email "N" users with a daily report summary

    ....ie along these lines

    DECLARE @tableHTML NVARCHAR(MAX) ;

    SET @tableHTML =

    N'<head>' +

    N'<style type="text/css">h2, body {font-family: Arial, verdana;} table{font-size:11px; border-collapse:collapse;} td{background-color:#F1F1F1; border:1px solid black; padding:3px;} th{background-color:#99CCFF;}</style>' +

    N'<h2><font color="#0000ff" size="4">Work Order Report</font></h2>' +

    N'</head>' +

    N'<body>' +

    N' <hr> ' +

    N' ' +

    N'<table border="1">' +

    N'<tr><th>Work Order ID</th><th>Product ID</th>' +

    N'<th>Name</th><th>Order Qty</th><th>Due Date</th>' +

    N'<th>Expected Revenue</th>

    </tr>' +

    CAST ( ( SELECT td = wo.WorkOrderID, '',

    td = p.ProductID, '',

    td = p.Name, '',

    td = wo.OrderQty, '',

    td = wo.DueDate, '',

    td = (p.ListPrice - p.StandardCost) * wo.OrderQty

    FROM AdventureWorks2008R2.Production.WorkOrder as wo

    JOIN AdventureWorks2008R2.Production.Product AS p

    ON wo.ProductID = p.ProductID

    WHERE DueDate > '2006-04-30'

    AND DATEDIFF(dd, '2006-04-30', DueDate) < 2

    ORDER BY DueDate ASC,

    (p.ListPrice - p.StandardCost) * wo.OrderQty DESC

    FOR XML PATH('tr'), TYPE

    ) AS NVARCHAR(MAX) ) +

    N'</table>' ;

    EXEC msdb.dbo.sp_send_dbmail @recipients='xyz@abc.com',

    @profile_name = 'SQl',

    @subject = 'Work Order List',

    @body = @tableHTML,

    @body_format = 'HTML' ;

    the question is ...do the "N" recipients require a "single user CAL".....??

    on re reading this part (extract from "2008 SQL Licensing Overview final.docx")

    "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."

    ..it would appear a CAL is required for each recipient, because the SQL service generated the initial email.

    I can take the view (and explain to my FD) that to cover off licence compliance we should assume that we need CALs for "N" users to receive such emails...but as I sure you will appreciate....if there are costs to be saved, then save them !!

    Also...I have read elsewhere, but cannot now find the url , that if we used TSQL to generate an Excel spreadsheet...the recipient would require a CAL...but if that spreadsheet was then forwarded on...all other recipients would be CAL "exempt"

    Apologies for appearing to be financially pedantic.....but thats the situation i find myself in

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • I see your point however, THEY are NOT using the services or functionality, I think that is a very broad reading of the license. I also don't believe this falls into the multiplexer section. Using that particular reading of the terms, if SQL created a file on a file share then any user using the file would need a CAL. This is too removed from using SQL to apply.

    As an example if you installed SSRS with NO users and did ALL subscriptions, no interactive access I don't even think you would need a single CAL.

    Clearer?

    CEWII

  • When talking to Microsoft about this, they said any person or device directly or indirectly touching the SQL Server requires a CAL. For example, if a website touches SQL Server then every person who visits that website requires a cal; i.e. unlimited CALs for a cpu license. So, if these reports are deployed in a fashion where anyone can access them and that access requires touching SQL Server then they need a CAL. If the report is exported to a file and placed somewhere for retrieval, then only the service that creates that file needs the CAL.

    Also, you probably already know this but for others, a separate license is required when placing SSRS on a separate box from SQL Server even if SSRS is not installed on the same box as SQL Server; i.e. the license for the software on the disk is NOT for the components, but for the CPU or machine it is purchased for.

    Jared
    CE - Microsoft

  • SQLKnowItAll (2/14/2012)


    When talking to Microsoft about this, they said any person or device directly or indirectly touching the SQL Server requires a CAL. For example, if a website touches SQL Server then every person who visits that website requires a cal; i.e. unlimited CALs for a cpu license. So, if these reports are deployed in a fashion where anyone can access them and that access requires touching SQL Server then they need a CAL. If the report is exported to a file and placed somewhere for retrieval, then only the service that creates that file needs the CAL.

    Also, you probably already know this but for others, a separate license is required when placing SSRS on a separate box from SQL Server even if SSRS is not installed on the same box as SQL Server; i.e. the license for the software on the disk is NOT for the components, but for the CPU or machine it is purchased for.

    I think that websites typically fall into the "multiplexer" scenario in the document I mentioned. And you are absolutely right about separating components.

    CEWII

  • Regarding your original question:

    I read the licence term exactly the same way as you do with one exception: when you mention "SQL", you're not referring to SQL Express...

    Especially the mail scenario is tricky from my point of view. My interpretation is: If the data get pushed to a device without any option to directly modify the process or the data, then no separate licence is required. In any other scenario, a licence is needed.

    MS Excel pivot table accessing a SSAS Cube....CAL required

    MS Excel directly querying SQL via MS Query...CAL required

    MS Access ADP linked to SQL...CAL required

    User accessing a static Excel file created thro TSQL/SSIS .....CAL not required

    user receiving an email generated via TSQL/SSIS ....CAL not required.

    Any access to SSRS...CAL required.

    Just to add a little more confusion...

    We're discussing two "edge-scenarios" at work in terms of licence terms conformity:

    1) pushing (relative simple) results to an SQL Express installation from a heavy db (properly licensed by processor licence) and allow "anybody" to query the results on SQL Express: there's technically no interaction between the user and the original data (e.g. user cannot request new data from the source). It's not even possible to identify the data source by just using the SQL Express database. And the data are "pushed without end user interaction to a separate destination". From our point of view this would be within the licence terms.

    2) A database is used to store results provided from a PLC device and send data to a PLC (using a OPC server for both directions). This PLC will send/receive the data to/from 5 different PLC which again will communicate each one to another 5 PLC and each final PLC will use the data to control 10 different devices (e.g. drives) or collect data from sensors. How many device CAL's would we need? We know it would be at least 6 for the first set of PLC's + the OPC server. But do we need 31 (1 OPC +5 PLC + 5*5 PLC), or even 281 (1 + 5 + 5*5 + 10*5*5) ?

    We couldn't find anybody yet to answer this (rather theoretical) question. The one MS Rep we asked told us "281" but couldn't answer why we don't need a separate device CAL for a mouse, a keyboard and a screen then...

    Is there anybody around having a "bullet-proof" definition of a "device" in terms of licencing?

    J Livingston: I'm sorry if this post looks like hijacking. It's not meant to be. I'll move it to a separate thread if required... 😎



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]

  • Short answer: contact MS. Ultimately they have the final say since they can sue you for non-compliance.

    Longer answer: My reading, and understanding, would be that accessing SQL Server through any means in real time is what the CAL meets. If you email a report to people, no CAL is required. I say this because there are companies that email reports to business partners from SQL Server and I'm sure they are not licensing each recipient. They might be in per-socket licensing, but I wouldn't count on that for many companies.

    Creating a flat file and leaving it somewhere for people to access via SMB (file sharing), no CAL required.

    IANAL

  • Since "MS" is a rather large group: do you know a person or a group we could contact?

    (The local rep we've asked didn't leave the impression that such specific licence question would be his primary field of knowledge.... 😉 )



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]

  • Go here: http://mslicense.com/

  • LutzM (2/14/2012)


    J Livingston: I'm sorry if this post looks like hijacking. It's not meant to be. I'll move it to a separate thread if required... 😎

    No problems Lutz...happy to keep it on the same thread,,,,,was going to ask something very similar...so I dont need to bother now 🙂

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • @lutz

    Your scenario 1 most certainly requires an unlimited CAL license if you cannot account for all devices. This is one of those "indirect" scenarios that should have a socket license with unlimited CALs. Microsoft is basically saying, if your application of SQL Server has no way to be counted down to individual users/services, we offer you an unlimited license. Most cases, even in small companies, that is the more cost efficient option. If you are only using SQL Server for something like MS Great Plains (I use this because I have experience) where only 3 people access it, a license that comes with the 5 CALs is appropriate.

    I didn't have time to sort through your second question this morning 🙂

    @Steve... The problem with contacting Microsoft is that they can only explain the EULA to the best of their knowledge, but you are typically not talking to one of their attorneys. It is a great place to start of course, but at some point you either have to take a risk that your interpretation is right (hopefully lying on the conservative side) or get a lawyer that can help. At that point, you should just buy the socket license before the lawyer sucks you dry 🙂

    Jared
    CE - Microsoft

  • Steve Jones - SSC Editor (2/14/2012)


    Short answer: contact MS. Ultimately they have the final say since they can sue you for non-compliance.

    Longer answer: My reading, and understanding, would be that accessing SQL Server through any means in real time is what the CAL meets. If you email a report to people, no CAL is required. I say this because there are companies that email reports to business partners from SQL Server and I'm sure they are not licensing each recipient. They might be in per-socket licensing, but I wouldn't count on that for many companies.

    Creating a flat file and leaving it somewhere for people to access via SMB (file sharing), no CAL required.

    IANAL

    Steve...after much debate and deliberation, I think we have come to a similar conclusion as you.

    We have trawled the net for ages looking for some form of guidance.

    From what we have seen of MS licensing docs on this topic...a cynic could possibly construe that they are deliberately vague ............ 😉

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • Good luck.

    MS licensing can only give you an (non-legal) interpretation, which Jared mentioned. However their reading of the EULA for your case, could be legally binding either way.

  • SQLKnowItAll (2/15/2012)


    @lutz

    Your scenario 1 most certainly requires an unlimited CAL license if you cannot account for all devices. This is one of those "indirect" scenarios that should have a socket license with unlimited CALs. Microsoft is basically saying, if your application of SQL Server has no way to be counted down to individual users/services, we offer you an unlimited license. Most cases, even in small companies, that is the more cost efficient option. If you are only using SQL Server for something like MS Great Plains (I use this because I have experience) where only 3 people access it, a license that comes with the 5 CALs is appropriate.

    I didn't have time to sort through your second question this morning 🙂

    @Steve... The problem with contacting Microsoft is that they can only explain the EULA to the best of their knowledge, but you are typically not talking to one of their attorneys. It is a great place to start of course, but at some point you either have to take a risk that your interpretation is right (hopefully lying on the conservative side) or get a lawyer that can help. At that point, you should just buy the socket license before the lawyer sucks you dry 🙂

    Hi I believe if you send reports to external users via email you will need either a call for those user or license per processor or core,

    My question now is, if we sell/charge for these reports do we need to license than via spla?

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

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