Lỗi evaluation period has expired sql server 2023 năm 2024

Sometimes we are in a hurry that we forget activities that are pending. A typical example would be like walking into a room and we keep thinking about why we were there in the first place. Isn’t that common? Or I think age is catching on me for sure. Some of the classic mistakes I have seen people doing is to bring up an environment in a hurry and choose the Evaluation Edition because they don’t have the key handy at that point in time. They plan to add the same at a later point in time and forget it. One fine day SQL starts to error out and on inspection, you hit the problem and all work comes to a stop.

If you have been running SQL Server and it is expired, there would be a need to activate it. The steps are a little different as compared to Windows activation. The edition terminology is also little different from the Windows world. In SQL Server, evaluation edition is actually an enterprise edition of SQL Server, having 180 days’ time limit – so it is called as Enterprise Evaluation Edition

If the SQL Server engine is expired, the SQL services would not start and you will find below error in SQL Server error log and event viewer. Here is the blog to find a SQL ERRORLOG file location

SQL SERVER – Where is ERRORLOG? Various Ways to Find its Location

Here is the sample ERRORLOG. I have highlighted two things below – current version and error message. The same message will come in event log also. 2015-03-25 10:34:06.84 Server Microsoft SQL Server 2012 [SP1] - 11.0.3128.0 [X64] Dec 28 2012 20:23:12 Copyright [c] Microsoft Corporation Enterprise Evaluation Edition [64-bit] on Windows NT 6.2 [Build 9200: ] [Hypervisor] 2015-03-25 10:34:06.84 Server [c] Microsoft Corporation. 2015-03-25 10:34:06.84 Server All rights reserved. 2015-03-25 10:34:06.84 Server Server process ID is 6584. 2015-03-25 10:34:06.84 Server Authentication mode is MIXED. 2015-03-25 10:34:06.84 Server Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG'. 2015-03-25 10:34:06.84 Server The service account is 'NT Service\MSSQL$MSSQLSERVER'. This is an informational message; no user action is required. 2015-03-25 10:34:06.84 Server Registry startup parameters: -d C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf -e C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG -l C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf 2015-03-25 10:34:06.84 Server Command Line Startup Parameters: -s "MSSQLSERVER" 2015-03-25 10:34:07.15 Server Error: 17051, Severity: 16, State: 1. 2015-03-25 10:34:07.15 Server SQL Server evaluation period has expired.

On the other hand, if client tools are expired, then we would have trouble opening SQL Server Management Studio and other client tools. Here is the pop-up which would be received.

Evaluation period has expired. For information on how to upgrade your evaluation software, please go to //www.microsoft.com/sql/howtobuy

In such situations, we need to perform an activation of SQL Server. This is called as edition upgrade in SQL Server installation terminology. To upgrade, you need to have installation media of the destination version. SQL Server evaluation edition can be upgraded to standard, developer, enterprise editions. The complete upgrade metrics can be found in SQL Server books online //msdn.microsoft.com/en-us/library/ms143393[v=sql.120].aspx

SQL Server Evaluation editions are great to use for testing early releases. When the real deal comes out, it’s best to upgrade then and there [probably Evaluation to Developer if you’re testing and experimenting]. But what happens if you let an evaluation edition expire by accident? The good news is you can still upgrade but it’s a bit tedious.

Let’s take a look at an example.

Signs of Danger

Logging onto a test server, I was greeted with this message:

No worries, the SQL Service probably isn’t running and needs started. I opened up SQL Server Configuration Manager, selected to start my service, and got another error:

What about trying to open up services.msc and starting the service from there:

Service-specific error code 17051 doesn’t sound too good.

I checked Event Viewer and found the real cause of my problem. I’m still on SQL Server 2022 Evaluation and the SQL Server evaluation period has expired:

Time Traveler

Since the service won’t start, it’s too late to upgrade today. Thankfully, you can set your computer date/time back a few days or weeks to get back in the window before the evaluation period expired. I learned this trick from this Brent Ozar blog post.

I ran the installer for SQL Server 2022 Developer Edition and disconnected from the network. I then reset my time back a month, started the SQL service successfully, and proceeded to upgrade from Evaluation to Developer. When selecting Maintenance from the SQL Server Installation Center, I was given the option to upgrade but was only able to upgrade SQL Browser and SQL Writer:

Those features upgraded successfully but that didn’t upgrade my SQL Server edition. I still couldn’t correct my date/time and start the SQL service.

If I selected Installation and then “Upgrade from a previous version of SQL Server” all the way at the bottom, that allowed me to upgrade Database Engine Services and get fully upgraded from Evaluation to Developer:

Save the Headaches

Maybe I missed a step somewhere, maybe it’s something different with SQL Server 2022. Either way, stay on top of your servers and get them upgraded before you have to hassle with upgrading expired evaluation versions.

Chủ Đề