FIX: Database schemas aren't upgraded or downgraded when you install or uninstall a cumulative update in SQL Server 2017 on Linux

Applies to: SQL Server 2017 Developer LinuxSQL Server 2017 Enterprise Core on LinuxSQL Server 2017 Enterprise on Linux

Symptoms


Assume that you use SQL Server 2017 on Linux. When you install or uninstall a SQL Server cumulative update, some upgrade or downgrade scripts (sqlscriptupgrade.dll or sqlscriptdowngrade.dll in the script .dll file) aren't executed as expected. Therefore, the database schemas are not upgraded or downgraded correctly.

Note When you install this cumulative update, the upgrade script in this update is executed. However, previous cumulative updates still behave the same way. Therefore, we recommend that you avoid applying any cumulative update earlier than this update.

Resolution


This fix is included in Cumulative Update 4 for SQL Server 2017.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More information


Starting with this update, SQL Server Agent is automatically installed together with SQL Server. A separate installation of the mssql-server-agent package is no longer required (or possible). SQL Server Agent is disabled by default. To enable it, run the following configuration command:

mssql-conf set sqlagent.enabled true

To disable the Agent, run:

mssql-conf set sqlagent.enabled false

Or, the environment variable MSSQL_AGENT_ENABLED can be set to True or False to enable or disable the Agent, respectively.

Note The new setting will not take effect until SQL Server is restarted.

If you upgrade an older version of SQL Server, the mssql-server-agent package, if present, will be automatically uninstalled, and SQL Server Agent will be enabled. If the SQL Server Agent package is not present during the update, SQL Server Agent will remain disabled.

When SQL Server Agent is disabled, its configuration is not removed, and its jobs remain untouched. Re-enabling SQL Server Agent will bring it to the same state as before it was disabled.

References


Learn about the terminology Microsoft uses to describe software updates.