Versión y edición de partida en nuestro SQL Server 2017

Partimos de un escenario con una versión RC de SQL Server, previa a la versión RTM, concretamente una RC2 (Release Candidate 2). La edición es Enterprise Evaluation, con limitación temporal de uso.

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

Posibilidades de upgrade de edición y versión SQL Server 2017

Podemos obtener información sobre la actualización de ediciones en la web de Microsoft. Comprobamos que es posible pasar de una Evaluation Enterprise a una Developer.

En cuanto a las versiones desde las que podemos hacer un upgrtade, en las release notes de SQL Server 2017 se indica que el upgrade es viable desde la versión CTP 2.1, previa a la RC2 de la que partimos.

Por lo tanto, la actualización que necesitamos está dentro de soporte Microsoft.

Actualización de RC2 (14.0.900.75) a RTM CU3 (14.0.3015.40)

En esta instalación, necesitamos empezar añadiendo un repositorio, ya que para la instalación inicial fue utilizado el CTP disponible en el momento de liberación de esa versión. Añadimos el repositorio CU (Cumulative Updates) que es el que nos interesa frente al GDR que sólo incluye la versión base y parches críticos (aprovecho para agradecer al colega Ignacio Vizoso por aportarme este punto al procedimiento de upgrade).

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

Ahora actualizamos los binarios de SQL Server, proceso que no afecta a las BDs generadas, y que además es reversible, siendo posible hacer un downgrade de RPMs sin afectar, según la doc de Microsoft, a las BDs:

Paramos el servicio mssql-server y actualizamos con yum

[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!

Actualización a licencia Developer

Para disponer de una licencia gratuíta y permanente, sin limitación de uso, aplicamos un cambio de configuración. Paramos el nuevo servicio mssql-server y lanzamos mssql-conf para aplicar el cambio de licencia.

[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.

Resultado final

Nos conectamos al servidor para verificar que tanto la versión como la edición han sido actualizadas:

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)