Initial version and edition in our Linux SQL Server 2017

Our starting point is a SQL Server RC version, previous to RTM release. We are working specifically on a RC2 (Release Candidate 2). Our edition is Enterprise Evaluation with temporary usage restrictions.

1> :setvar SQLCMDMAXVARTYPEWIDTH 35
2> :setvar SQLCMDMAXFIXEDTYPEWIDTH 35
3> SELECT SERVERPROPERTY('productversion') as Version, SERVERPROPERTY ('productlevel') as Level ,SERVERPROPERTY ('edition') as Edition
4> go
Version Level Edition 
----------------------------------- ----------------------------------- -----------------------------------
14.0.900.75 RC2 Enterprise Evaluation Edition (64-b

Supported version and edition upgrades

We can find information regarding the upgrade process at Microsoft’2 website. We verify that moving from Evaluation Enterprise to Developer is supported.

Also, SQL Server 2017 release notes de indicate upgrade is supported from version CTP 2.1. That’s previous to our RC2, so all is OK for us to start the upgrade as all our configuration is inside Microsoft’s support matrixes.

Upgrade from RC2 (14.0.900.75) to RTM CU3 (14.0.3015.40)

We must start by adding a new Linux repository due to our initial installation was performed by means of using the CTP repository available at the momento of the install process. We add the CU (Cumulative Updates) repository. We could have used the GDR alternative, but it only includes base version and criticat patches. I must thank my collegue Ignacio Vizoso for showing me this point for completing this upgrade procedure.

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

Now we update SQL Server binary files. This process do not affect existing databases, and is also revocable because we can perform a version downgrade to the previous RPMs as per Microsoft’s doc.

Now, let’s stop the mssql-server service and perform the yum update:

[root@labapm ~]# systemctl stop mssql-server
[root@labapm ~]# yum update mssql-server mssql-server-fts mssql-server-agent mssql-tools
Loaded plugins: ulninfo
Resolving Dependencies
--> Running transaction check
---> Package mssql-server.x86_64 0:14.0.900.75-1 will be updated
---> Package mssql-server.x86_64 0:14.0.3015.40-1 will be an update
---> Package mssql-server-agent.x86_64 0:14.0.900.75-1 will be updated
---> Package mssql-server-agent.x86_64 0:14.0.3015.40-1 will be an update
---> Package mssql-server-fts.x86_64 0:14.0.900.75-1 will be updated
---> Package mssql-server-fts.x86_64 0:14.0.3015.40-1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================
 Package                                          Arch                                 Version                                        Repository                                                              Size
===================================================================================================================================================================================================================
Updating:
 mssql-server                                     x86_64                               14.0.3015.40-1                                 packages-microsoft-com-mssql-server-2017                               166 M
 mssql-server-agent                               x86_64                               14.0.3015.40-1                                 packages-microsoft-com-mssql-server-2017                               1.5 M
 mssql-server-fts                                 x86_64                               14.0.3015.40-1                                 packages-microsoft-com-mssql-server-2017                               229 M

Transaction Summary
===================================================================================================================================================================================================================
Upgrade  3 Packages

Total download size: 396 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): mssql-server-agent-14.0.3015.40-1.x86_64.rpm                                                                                                                                         | 1.5 MB  00:00:00     
(2/3): mssql-server-14.0.3015.40-1.x86_64.rpm                                                                                                                                               | 166 MB  00:00:21     
(3/3): mssql-server-fts-14.0.3015.40-1.x86_64.rpm                                                                                                                                           | 229 MB  00:01:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                              6.5 MB/s | 396 MB  00:01:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : mssql-server-14.0.3015.40-1.x86_64                                                                                                                                                              1/6 
  Updating   : mssql-server-fts-14.0.3015.40-1.x86_64                                                                                                                                                          2/6 

+-------------------------------------------------------------------------------------+
Please restart mssql-server to enable Microsoft SQL Server Full Text Search.
+-------------------------------------------------------------------------------------+

  Updating   : mssql-server-agent-14.0.3015.40-1.x86_64                                                                                                                                                        3/6 

+--------------------------------------------------------------------------------+
Please restart mssql-server to enable Microsoft SQL Server Agent.
+--------------------------------------------------------------------------------+

  Cleanup    : mssql-server-agent-14.0.900.75-1.x86_64                                                                                                                                                         4/6 
  Cleanup    : mssql-server-fts-14.0.900.75-1.x86_64                                                                                                                                                           5/6 
  Cleanup    : mssql-server-14.0.900.75-1.x86_64                                                                                                                                                               6/6 
  Verifying  : mssql-server-fts-14.0.3015.40-1.x86_64                                                                                                                                                          1/6 
  Verifying  : mssql-server-agent-14.0.3015.40-1.x86_64                                                                                                                                                        2/6 
  Verifying  : mssql-server-14.0.3015.40-1.x86_64                                                                                                                                                              3/6 
  Verifying  : mssql-server-14.0.900.75-1.x86_64                                                                                                                                                               4/6 
  Verifying  : mssql-server-agent-14.0.900.75-1.x86_64                                                                                                                                                         5/6 
  Verifying  : mssql-server-fts-14.0.900.75-1.x86_64                                                                                                                                                           6/6 

Updated:
  mssql-server.x86_64 0:14.0.3015.40-1                              mssql-server-agent.x86_64 0:14.0.3015.40-1                              mssql-server-fts.x86_64 0:14.0.3015.40-1                             

Complete!

Upgrade to Developer license

We want to use a free and permanente license with no usage restriction. For doing so, we stop again the mssql-server service and execute mssql-conf setup to apply the license upgrade.

[root@labapm ~]# systemctl stop mssql-server
[root@labapm ~]# /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID)
  7) Enterprise Core (PAID)
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Enter the SQL Server system administrator password: 
Confirm the SQL Server system administrator password: 
Configuring SQL Server...

The licensing PID was successfully processed. The new edition is [Developer Edition].
Setup has completed successfully. SQL Server is now starting.

Final result

Connecting to the database server, now we can see both upgrades reflected in the configuration:

1> :setvar SQLCMDMAXVARTYPEWIDTH 35
2> :setvar SQLCMDMAXFIXEDTYPEWIDTH 35
3> SELECT SERVERPROPERTY('productversion') as Version, SERVERPROPERTY ('productlevel') as Level ,SERVERPROPERTY ('edition') as Edition
4> go
Version                             Level                               Edition                            
----------------------------------- ----------------------------------- -----------------------------------
14.0.3015.40                        RTM                                 Developer Edition (64-bit)