Today, I want to talk about how you can determine if you using an evaluation copy of SQL server and also how to determine when that period is over, before you get the pop warning listed below:
If you are like me, you are constantly building systems and then tearing them down for testing. In my case, I use it to either learn new things, validate information or create an environment to blog my findings. Today is no exception, as I created both a standalone SQL server 2014 instance on Windows Server 2012R2 (both are evaluation copies for SQL and Windows) and one member of a SQL Server 2012 AlwaysOn Availability group is an evaluation copy of SQL Server. As you might know, you are unable to check this information in the SQL Server Management Studio (SSMS) as you can see from the screenshot of SQL Server 2012 below. Neither the evaluation nor expiration date is not listed on the Help >> About dialog box of SQL Server Management Studio any more unlike previous versions.:
Here is how SQL Server 2014 looks and again it does not list the either edition or install date:
Well you are in luck today, as I am going to show you how to get the following information:
- Determine if you have an evaluation copy of SQL Server
- Determine the date the evaluation expires
How to check the version that is installed
One of the easiest ways to detect evaluation copies of SQL Server is to right click on the SQL Server in SSMS, then go to Properties, General
This is the same information view but for SQL Server 2014:
You can also check this information in SQL Server by running this query for both 2012 and 2014:
-- The following query will also return the Product Version, Product Level and Edition. SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('Edition') AS Edition;
Here is the query and results that confirm to you that I am running an evaluation copy of SQL Server:
So, at this point, we know what edition is installed, but we still do not know the expiration date of the evaluation.
How to check the date the evaluation expires
Well how do you check the date this evaluation will end? Well, you can examine the summary.txt file to see when the instance was installed. In SQL Server 2012 it is located at C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log
In SQL Server 2014, the summary.txt file is located at C:\Program Files\Microsoft SQL Server\120\Setup Bootstrap\Log
Please note: The summary.txt contains important values pertaining to the instance installation, including the version and when it was installed. Evaluations for SQL Server are valid for 180 days, so with simple arithmetic on the install date, we can determine the expiry date as exhibited below. In this example, my install date was on 19 April 2016, so the expiration date will be on 16 October 2016 (180 days after 19 April 2016)
Again you can check this information in SQL Server by running this query for both
2012 and 2014:
-- Run the following query to retrieve the installed and expiry date on an Evaluation edition of SQL Server 2012/4 instance. SELECT create_date AS 'SQL Server Install Date', DATEADD(DD, 180, create_date) AS 'SQL Server Expiry Date' FROM sys.server_principals WHERE name = 'NT AUTHORITY\SYSTEM'
The reason we are using the “NT AUTHORITY\SYSTEM” account in this query is that this local System account gets created (by default) at the time of installation. This method will allow us to inspect the installation date to safely determine the installation date of SQL Server. (by adding 180 days to the date this account was created in the SQL Server instance)
Please note that you can see more information of “NT AUTHORITY\SYSTEM” account here.
Here is the query and results:
In the next blog article, I will talk about how you can upgrade from an evaluation or different edition without having to reinstall the SQL Server instance. In the meantime, I hope that this helps you!