472,960 Members | 1,888 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,960 software developers and data experts.

SQL Server License Control and Management

Today many applications (SAP, SIEBEL, MANUGISTICS, PEOPLESOFT, and so
on) does not have a client direct access to connect to the database.
They use an Application Server that has only one connection to the
database and the users get connected to this application server.

THE QUESTION: How to control SQL Server User License in this new model,
automatically?

You cannot enable SQL Server Audit because users are not connected
directly to the database.
You cannot use Identity Management applications because they do not
work on NOT Enterprise Business software.

How to do that if you have hundred of applications and database?
Regards,
Marcio

Mar 22 '06 #1
9 2374
I don't see how it it's possible to automate CAL tracking with an n-tier
application model. It's more cost-effective to use processor licensing with
enterprise systems like this anyway so it's a non-issue.

--
Hope this helps.

Dan Guzman
SQL Server MVP

"mleal" <ma****************@ig.com.br> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Today many applications (SAP, SIEBEL, MANUGISTICS, PEOPLESOFT, and so
on) does not have a client direct access to connect to the database.
They use an Application Server that has only one connection to the
database and the users get connected to this application server.

THE QUESTION: How to control SQL Server User License in this new model,
automatically?

You cannot enable SQL Server Audit because users are not connected
directly to the database.
You cannot use Identity Management applications because they do not
work on NOT Enterprise Business software.

How to do that if you have hundred of applications and database?
Regards,
Marcio

Mar 22 '06 #2
Hi Dan. Thanks for answering.

But I cannot use processor licensing for all these applications and the
other ones we have here.
Believe me, it would increase the costs a lot.

Try to imagine almost 1000 databases. How do I know that I have the
CALs that I need?

It's a very complicated problem.
Regards,
Marcio

Mar 22 '06 #3
mleal wrote:
Hi Dan. Thanks for answering.

But I cannot use processor licensing for all these applications and the
other ones we have here.
Believe me, it would increase the costs a lot.

Try to imagine almost 1000 databases. How do I know that I have the
CALs that I need?

It's a very complicated problem.
Regards,
Marcio


The point is that SQL Server CALs are licensed per end user not per
connection. So regardless of the method used to connect SQL Server
can't count the number of users for you. The number of databases is
also irrelevent.

With Enterprise Edition, Processor Licensing is cheaper unless you have
fewer than about 100 users per processor. About half that number for
Standard Edition. So if your user base is that small you shouldn't have
so much trouble tracking the number of licences required. How many
users do you have?

--
David Portas, SQL Server MVP

Whenever possible please post enough code to reproduce your problem.
Including CREATE TABLE and INSERT statements usually helps.
State what version of SQL Server you are using and specify the content
of any error messages.

SQL Server Books Online:
http://msdn2.microsoft.com/library/m...S,SQL.90).aspx
--

Mar 22 '06 #4
David,

I agree with you and I know that I need to count CALs by my number of
end user.

The problem I don't know correctly how many users I have and many of
them are not employee any more.

My solution for that would be: Export all my users from the
application, because if it connects to the application it needs a sql
license, and than match it to my HR system. If user is an employee I
count a sql license. This would be a solutions.

But it is hard work. Is there not another way?
Thanks,
Marcio

Mar 22 '06 #5
mleal wrote:
David,

I agree with you and I know that I need to count CALs by my number of
end user.

The problem I don't know correctly how many users I have and many of
them are not employee any more.

My solution for that would be: Export all my users from the
application, because if it connects to the application it needs a sql
license, and than match it to my HR system. If user is an employee I
count a sql license. This would be a solutions.

But it is hard work. Is there not another way?
Thanks,
Marcio


If you really don't know how many users you have then that is one way.
I still don't understand why this would be an issue. Like I said, CALs
are economical only for small enterprises. If you only have 100 or 200
employees then it can't be that difficult to track what applications
they need to use (I once used to do it for a user base of less than
300). Also, applications such as SAP or SIEBEL will cost you FAR more
per user than SQL Server will. For that reason I've never considered
that any of them would be licensed any other way than with a processor
licence. I've not known CAL licensing used with those apps in practice.

Check out the licensing and pricing options at:
http://www.microsoft.com/sql/howtobuy/default.mspx

--
David Portas, SQL Server MVP

Whenever possible please post enough code to reproduce your problem.
Including CREATE TABLE and INSERT statements usually helps.
State what version of SQL Server you are using and specify the content
of any error messages.

SQL Server Books Online:
http://msdn2.microsoft.com/library/m...S,SQL.90).aspx
--

Mar 22 '06 #6

Maybe you could periodically select stuff from master.db.sysprocesses, and
count the number of distinct remote client workstation names or number
of distinct client user names over some suitable period?

-tapio

Something developed out of the following might give a guess of the
number of distinct "real users" you have?
Of course this needs changes if you use sqlserver security.

if not exists (select 1 from sysobjects
where name = 'connstats' and type='U')
begin
create table connstats (
client varchar(20)
,ntuser varchar(20)
,program varchar(40)
,dbname varchar(20)
,ts datetime
)
end
go

if exists (select 1 from sysobjects
where name = 'dbu_gather_stats' and type='p')
drop procedure dbu_gather_stats
go

create procedure DBU_gather_stats
as
begin
insert into connstats(client, ntuser, program, dbname, ts)
select p.hostname, p.nt_username, p.program_name
,d.name, getdate()
from master.dbo.sysprocesses as p
,master.dbo.sysdatabases as d
where p.dbid = d.dbid
end
go

grant execute on DBU_gather_stats to public
go

if exists (select 1 from sysobjects
where name = 'dbu_stats' and type='p')
drop procedure dbu_stats
go
create procedure DBU_stats
as
begin
select
"date"=substring(convert(varchar,ts,126),1,10)
,"clients"=count(distinct client)
,"users"=count(distinct ntuser)
,"programs"=count(distinct program)
from master..connstats
group by
substring(convert(varchar,ts,126),1,10)
end
go

grant execute on DBU_stats to public
go

Mar 22 '06 #7

Ouch... i didn't see the original post about having an n-tier
architecture until now, so my previous post is of no help to the
original poster. Sorry for this minor waste of bandwidth.

-tapio
Mar 22 '06 #8
David, thanks.

Last question: Thing big.

How would you manage CALs from more than 300 servers, 500 databases
used for more than 400 applications with lots of users being created
and deleted from applications and employees that use these applications
being hired or fired? (you need to manage if employee is active to
count a license). At the end of year this is the number we need,
accurate, to buy more or restart, diminish, with MS.

Thanks for your help.
Marcio

Mar 22 '06 #9
mleal wrote:
David, thanks.

Last question: Thing big.

How would you manage CALs from more than 300 servers, 500 databases
used for more than 400 applications with lots of users being created
and deleted from applications and employees that use these applications
being hired or fired? (you need to manage if employee is active to
count a license). At the end of year this is the number we need,
accurate, to buy more or restart, diminish, with MS.

Thanks for your help.
Marcio

The number of servers, applications and databases is irrelevant as far
as CAL numbers are concerned so the problem is much simpler than you
make it sound. I assume you are talking about CAL numbers in the
thousands or tens of thousands? Have you talked to a Microsoft
licensing specialist? I expect they can suggest an assessment of your
CAL numbers that can satisfy both you and them. At that level you
aren't expected to account for every single user. This is my opinion
not Microsoft's but I'm guessing you can use departmental head counts
or other organizational metrics as the basis for the numbers.

--
David Portas, SQL Server MVP

Whenever possible please post enough code to reproduce your problem.
Including CREATE TABLE and INSERT statements usually helps.
State what version of SQL Server you are using and specify the content
of any error messages.

SQL Server Books Online:
http://msdn2.microsoft.com/library/m...S,SQL.90).aspx
--

Mar 22 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Ray Dillinger | last post by:
Okay, most of my career has been spent doing linguistics or hardcore math, and letting other people write the interfaces to it. Now I'm up for something a little different and I need to expand my...
2
by: wxqun | last post by:
We are going to build a DB2 server on a new P570 server for a data warehouse project. Since the size of the data warehouse is less than 200G, the DB2 server is only assigned 5/10th shared CPU. In...
2
by: Jobs | last post by:
Download the JAVA , .NET and SQL Server interview with answers Download the JAVA , .NET and SQL Server interview sheet and rate yourself. This will help you judge yourself are you really worth of...
1
by: =?Utf-8?B?cmJiZW5zb24=?= | last post by:
To begin,, the network infactructure- Servers - Server00 - Windows Server 2003/Installed Server01 - Windows Server 2003/plan to install Server10 - Linux RedHat Workstation/Installed ...
0
Coldfire
by: Coldfire | last post by:
Since i cannot show the differences in a two-column like table. I am first putting MS SQL Server 2005 and then MySQL 5.x. MS SQL Server 2005 Brief Overview - SQL Server is a full-fledged...
1
by: jasonnance77 | last post by:
I have built a SSIS package which runs fine in BIDS. I went into Sql Server Management Studio and created a new job and job step. When I select the SQL Server Integration Services Package, I get...
12
by: helveticus | last post by:
I'm in the process of finalizing my site. I spent quite a bit of time designing content pages and would like to cut on development time by simply managing the DB (SQL server, evt. MySQL) via MS...
7
by: sachinkale123 | last post by:
I want to stop Sql server Agent Windows service. I am using below code to stop or start the windows service. Which is I am doing sucessfully. ManagedComputer mc = default(ManagedComputer); ...
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
3
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
2
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.