Six months ago today, you installed SQL Server Evaluation Edition. You told yourself you’d take care of that sooner or later, and…you forgot. Now, your SQL Server won’t start:
Error 17051: SQL Server evaluation edition has expired.
Awww, shucks. Good news though! You don’t have to uninstall & reinstall from scratch – there’s an easier way.
Go download SQL Server Developer Edition, and start the installation media download process. It’s going to download the bits into C:\SQL2019. Once the download has finished, go into Maintenance, Edition Upgrade (at the top):
At this point, you may need to set the date back a few days on your computer and disconnect it from the network (to make sure it doesn’t automatically update the date/time.) In theory, you shouldn’t need to do this – but in practice for me, I’ve needed to set the date back so that SQL Server could at least start during the upgrade process. If you’re running a VM, you will also need to configure the VM so that it doesn’t automatically update the date/time from the host. In VMware Fusion, go into Virtual Machine, Settings, Advanced, and uncheck the “Synchronize time” option.
Next up in the installer, choose which edition you’d like to upgrade to – not the one you already have, but the destination edition:
Next, pick the instance you’re upgrading. In my case, I just had one instance on my VM:
Then click upgrade:
After about 30 seconds, you’re back in business, and SQL Server is running again. If this screen sits idle, not doing anything, it’s likely because your date/time was set back to current again, and the SQL Server service is trying but failing to start. You’ll need to go fix that and try the process again. That’s okay. People like us don’t read the instructions the first time, do we? I feel you. It happened to me too, thus this blog post.
Now you can set the computer’s time back to current, enable time syncing again, connect it to the network, and get back to work.