By: Svetlana Golovko | Updated: 2017-09-21 | Comments | Related: > Upgrades and Migrations
Problem
There are several blog posts about downgrading SQL Server Enterprise Edition to Standard Edition. You may need to downgrade in order to save on licenses costs or to make your environment consistent (if you don't use the Enterprise Edition's features).
Microsoft has added some Enterprise features to the SQL Server 2016 Standard Edition when Service Pack 1 was released (read more about this here). That is another reason to downgrade.
This past tip has step by step instructions on how to downgrade SQL Server, but what else do you need to do? What steps should you perform after the downgrade is completed? What do you need to check?
Solution
After downgrading SQL Server Edition to Standard Edition some of the configuration settings are reset to the default values. Below are examples of some of the issues you may have after the SQL Server Edition downgrade.
Number of SQL Server Error Logs
The SQL Server Error Logs number will be reset to the default (6 error logs):
If you configure your SQL Servers with higher a number of error logs, make sure you check this setting and set it to the number you need. This can be done in the SSMS GUI as shown in the above screenshot or by using the below T-SQL code.
USE [master] GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 99 GO
Read this tip about increasing the number of SQL Server error logs.
Mail Profile under SQL Server Agent Properties
The Mail Profile will be disabled under SQL Server Agent Properties:
Enable mail profile and make sure that correct mail profile is used. This can be done using the above SSMS GUI or by using the following T-SQL code.
USE [msdb] GO EXEC msdb.dbo.sp_set_sqlagent_properties @email_save_in_sent_folder=1, @databasemail_profile=N'DBServerAlerts_Profile', -- replace with your Agent's profile @use_databasemail=1 GO
Token Replacement Setting
If you use "Replace tokens for all jobs responses to alert" option (see the picture above) you will need to re-enable it too. This can be done using the above SSMS GUI or by using the following T-SQL code.
USE [msdb] GO EXEC msdb.dbo.sp_set_sqlagent_properties @alert_replace_runtime_tokens=1 GO
Other Potential Issues
The settings above are settings that are configured through the registry (they are not saved in system databases).
Here is an example of the registry key for SQL Server 2014:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\SQLServerAgent.
Some other SQL Server Agent commonly used settings that are saved under this registry key are:
- AlertFailSafeEmailAddress
- AlertFailSafeNetSendAddress
- AlertFailSafeOperator
- AlertFailSafePagerAddress
- AlertNotificationMethod
- DatabaseMailProfile
- ErrorLogFile
- ErrorLoggingLevel
- IdleCPUDuration
- IdleCPUPercent
- JobHistoryMaxRows
- JobHistoryMaxRowsPerJob
- JobShutdownTimeout
- MonitorAutoStart
- RestartSQLServer
- UseDatabaseMail
Make sure you have all of the non-default settings documented before you downgrade and then reapply them if required after the SQL Server downgrade.
Next Steps
- View the comprehensive feature comparison of SQL Server 2016 SP1 editions here.
- Review Features Supported by the Editions of SQL Server 2014 here.
About the author
This author pledges the content of this article is based on professional experience and not AI generated.
View all my tips
Article Last Updated: 2017-09-21