Determine the license of an existing SQL Server 2012 installation

  • Out product is based on SQL Server 2012 and comes with a core license or with a server+CAL license (based on the customers order). We want to offer our customers the possibility to exchange the SQL Server 2012 instance on which our product is built up (uninstall server+CAL licensed instance and install core licensed instance OR using their own existing SQL Server instance).

    Therefore I have to find out a way of determining wether an existing SQL Server 2012 installation uses a core license or a server+CAL license. This information is needed for correct user management in our extensions of SQL Server 2012, so the mechanism for getting the information needs to be automatable.

    Is there any way of getting that information (apart from asking the cutomers IT guy)? Thanks a lot!

  • select @@VERSION

  • Thanks for the answer, but the output of SELECT @@VERSION does not contain any information about server+CAL or core license. Here is the output:

    Microsoft SQL Server 2012 - 11.0.2376.0 (X64)

    Aug 15 2012 16:39:20

    Copyright (c) Microsoft Corporation

    Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    Additional Info: In addition to @@VERSION I have already examined all SERVERPROPERTY fields without finding the required information.

  • I haven't tried this with standard, but it does for enterprise:

    Microsoft SQL Server 2012 - 11.0.2383.0 (X64)

    Oct 5 2012 19:35:54

    Copyright (c) Microsoft Corporation

    Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    Microsoft SQL Server 2012 - 11.0.2100.60 (X64)

    Feb 10 2012 19:39:15

    Copyright (c) Microsoft Corporation

    Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2)

  • Running this statement on an SQL Server 2012 Standard core-licensed instance, I get the following output:

    Microsoft SQL Server 2012 - 11.0.2218.0 (X64)

    Jun 12 2012 13:05:25

    Copyright (c) Microsoft Corporation

    Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    This output does not differ from the previously shown output on an SQL Server 2012 server+CAL licensed instance (ignoring the different version numbers). So it seems, that the statement includes the core license information only when an enterprise license is used.

  • How does SQL Server itself know how it is licensed? I thought when SQL 2005 came out Microsoft removed the ability to even tell SQL whether it was licensed by Proc or by Server + Cals. I've been under the impression that is all managed logically now.

    Is there a different install for Core licensing vs Server + CAL licensing?

  • SQL doesn't know how it is licensed, due to the number of possibilities that a server can be licensed. It is up to the company to ensure that they assign licenses logically and that they purchase more when they need more.

  • There is a different set of binaries for 2012 Enterprise because server+cal licensed sql 2012 ent is limited to 20 cores and core licensed is not.

    So, 2012 Ent is the example where Sql knows how it's licensed and behaves differently.

  • Can someone explain how to count the number of CALS within a SQL instance? For example, if there are 4 databases within a SQL instance and by going to the Properties/Options it determines the max count since sql was last started for the 1st database out of the 4 is = 4. Furthermore, the rest of the databases have the same max value of 4. Ddoes this mean there are 16 CALS or 4 concurrent user CALS for the SQL instance?

  • Sorry typo in previous statement, it should read as the following..

    Can someone explain how to count the number of CALS within a SQL instance? For example, if there are 4 databases within a SQL instance and by going to the Properties/General("Number of Users") it determines the max count since sql was last started for the 1st database out of the 4 is = 4. Furthermore, the rest of the databases have the same max value of 4. Does this mean there are 16 CALS or 4 concurrent user CALS for the SQL instance?

  • Not sure...but you see how many current live connections there using

    select * from sys.dm_exec_connections

    or select * from sys.sysprocesses where spid>50

    This will give you connections which is more relevant when talking about licensing.

Viewing 11 posts - 1 through 10 (of 10 total)

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