SQL Server Edition Post-Downgrade Steps

By:   |   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):

SQL Server Errors logs number

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:

SQL Server Agent Properties for Database Mail

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.


sql server categories

sql server webinars

subscribe to mssqltips

sql server tutorials

sql server white papers

next tip



About the author
MSSQLTips author Svetlana Golovko Svetlana Golovko is a DBA with 13 years of the IT experience (including SQL Server and Oracle) with main focus on performance.

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

Comments For This Article

















get free sql tips
agree to terms