Solved

Which licensing (CAL) model for SQL Server 2005 Standard to be accessed from within Terminal Services?

Posted on 2007-11-13
13
502 Views
Last Modified: 2012-08-13
My remote network consists of 3 servers (Web, Terminal/Production, Database).  All internal users access these three servers using Device CALs from my Terminal Server Licensing pool.

I am about to purchase SQL Server 2005 Standard and install it on the Database server.  

The SQL server will be queried/touched by:
- apps on the Web server (not public so concurrency, while important, is not extremely high)
- users on the Terminal server (i.e. from within Microsoft Access via ODBC)
- developers/administrators on the Database server (directly logging in to the server)

From one perspective, I would say that I need 3 Device CALs only:  There are but 3 devices which will touch the SQL server within the network, since remote users connect via Terminal Services.  Is this scenario realistic?

From another perspective, I could imagine that Microsoft would ignore the local devices in use and look out toward the end-user devices, such as my home PC, even though my actions are routed through a local device.  Should I be considering User CALs for this reason?

From a third perspective, I realize that more than one simultaneous query will be passed to SQL Server from, say, multiple concurrent users on the web applications, or multiple users on the Terminal server querying the back-end database, etc.  If I am using Device CALs, and knowing the 3 servers within my network (despite the fact that there are multiple external users, both web-based and terminal-based), should I be OK?

0
Comment
Question by:psk1
  • 6
  • 6
13 Comments
 
LVL 25

Accepted Solution

by:
imitchie earned 250 total points
ID: 20275534
basically once it hits a web server, you need per processor licencing

http://channel9.msdn.com/ShowPost.aspx?PostID=213648
0
 
LVL 2

Author Comment

by:psk1
ID: 20275618
OK, let me drop the WEB portion of my question, please.

I need to know if a Device CAL on SQL Server, when being allocated over Terminal Services, considers the console device (on the LAN) to be the licensee, or considers the remote terminal client device (across the WAN) to be the licensee.  Assume access directly to SQL Server and via ODBC on the LAN using, for example, Microsoft Access.
0
 
LVL 9

Assisted Solution

by:Brugh
Brugh earned 250 total points
ID: 20275622
With Terminal Sevrers, you are "supposed" to license each CLIENT that connects to the terminal server according to MS's statement about Multiplexing and pooling

I won't state my opinions on MS's extremely poor licensing concepts. :)

Multiplexing: Using Middleware, Transaction Servers, and Multitiered Architecture
Published: November 7, 2005

Sometimes organizations develop network scenarios that use various forms of hardware and/or software that reduce the number of devices or users that directly access or use the software on a particular server, often called "multiplexing" or "pooling" hardware or software. Use of such multiplexing or pooling hardware and/or software does not reduce the number of client access licenses (CALs) required to access or use SQL Server software. 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.

For more information about multiplexing and SQL Server licensing, see the SQL Server Pricing and Licensing page.


 - Brugh



0
 
LVL 2

Author Comment

by:psk1
ID: 20275662
Well this is just insane
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20275681
I can't understand why you are "dropping" the WEB portion since you made it obvious you have web usage. Whether you feel that there will not be many simultaneous connections or not is not the question, it is an example of pooling/multiplexing.  If you intend to bend rules, why not just get 1 licence... for what it's worth
0
 
LVL 2

Author Comment

by:psk1
ID: 20275714
I can output the data from SQL Server and point the web server to that.  I don't need the web server to access SQL Server directly.

I do need to figure out the right way for internal users to be licensed.
0
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 
LVL 25

Expert Comment

by:imitchie
ID: 20275801
brugh seems spot on, which is also mentioned in the first link.
terminal services = just another layer. the Device CAL is for end user to SQL Server

crude analogy - sql server accessible only via direct crossover LAN cable

user 1 plugs lan cable to SQL server, disconnects lan cable
user 2 plugs lan cable to SQL server, disconnects

you still need 2 x cal
0
 
LVL 2

Author Comment

by:psk1
ID: 20275809
About User CALs:

I'm a user.  One guy.  But I use several different Windows usernames.  Am I one User CAL or several User CALs?
0
 
LVL 2

Author Comment

by:psk1
ID: 20275838
I get the point about "a device is a device, no matter how many layers it goes through" (thought I'd like to argue that point).

I am hoping to hear that "a user is a user, no matter how many logons he has", because that would at least mean that Microsoft is consistent in this labyrinth of licensing models.
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20275963
check Microsoft licencing, I'm pretty sure a multi-user XP machine is considered 1 device. we're talking about machines a.k.a. devices, not users.

work machine = 1. home machine = 1.

work machine login "admin" + work machine login "main" + work machine login "user" = 1, i.e. 1 "machine"

work machine via TS = 1. home machine via TS = 1. 2 end "devices"
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20276002
if you would just read the link in the first post, where there is a detailed debate about it...

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"

user 1 via work machine via ts - 1
user via work machine work directly - 1
user via home machine via ts - 1
etc
0
 
LVL 2

Author Comment

by:psk1
ID: 20276100
I read the posts in the link.  Probably the most useful information I've found but I'm still fuzzy on what Microsoft considers a user.

Is a distinct PERSON a user, or is a unique LOGIN a user?  And, if the latter, is that Windows login or is that SQL login?

I get the Device thing perfectly, just not the User thing yet.
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20276707
I think thinking it as distinct PERSON or distinct USER per se is probably not strictly correct.

If I, as a user, log onto two machines using the same account and run the same program, I would expect that to be 2 x CAL
So, even for 1 user, 1 account, I need 2 x CAL
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now