Microsoft SQL Server 2017 sobre Ubuntu

31 octubre 2017
Josep Ma Solanes 0

En esta ocasión trataremos la instalación de Microsoft SQL Server 2017 sobre Ubuntu Server 17.10. Y quien dice sobre Ubuntu 17.10 dice sobre las distribuciones Linux más conocidas.

Con esta entrada cierro la serie sobre la instalación de Microsoft SQL Server 2017:

 

A diferencia del entorno Windows, para instalar el Microsoft SQL Server 2017 sobre Ubuntu utilizaremos el repositorio público de Microsoft que encontrareis en la dirección web: http://packages.microsoft.com/

Si accedemos, podemos ver el contenido para las diferentes distribuciones más conocidas de Linux: CentOS, Debian, OpenSuse, Red Hat, Suse Enterprise, Ubuntu. Por lo tanto, sólo se trata de importar el repositorio que se adecue a la distribución que estais utilizando para el servidor o cliente de Microsoft SQL Server.

 

Importar repositorio de Microsoft SQL Server 2017 a Ubuntu

Para utilizar un repositorio externo al Ubuntu, en este caso el de Microsoft, hay que darlo de alta en el sistema. Para hacerlo, primero se deben de importar las claves de autenticación de los paquetes como confianza, de lo contrario, no se nos permitirá la instalación. Desde la consola con privilegios de root, ejecutamos el comando:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

El siguiente paso es añadir la lista de paquetes del repositorio que contiene el Microsoft SQL Server. En la fecha de publicación de esta entrada, todavía no existía el archivo de configuración para la versión de Ubuntu 17.10 de SQL Server, por el que se ha cogido el de la versión 16.10. Ejecutamos el comando para incorporar el repositorio:

sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

Actualizamos los repositorios del Linux para actualizar los datos con los nuevos paquetes:

sudo apt-get update

Se puede comprobar que hay disponibles los paquetes de Microsoft SQL Server ejecutando el siguiente comando:

sudo apt-cache search mssql

Donde deben aparecer diferentes paquetes mssql-server-x

 

Instalación de Microsoft SQL Server 2017 sobre Ubuntu

Con el repositorio de Microsoft cargado, procedemos a la instalación, propiamente dicha, del paquete Microsoft SQL Server 2017 con el comando:

sudo apt-get install -y mssql-server

Dejamos que vaya incorporando los paquetes y dependencias necesarias, hasta que acabe con el mensaje de advertencia que el siguiente paso es configurarlo. Ejecutamos el comando:

sudo /opt/mssql/bin/mssql-conf setup

El sistema nos hace cuatro preguntas sobre la edición, idioma y contraseña para configurar el Microsoft SQL Server. Interesante el primer apartado para escoger la edición a instalar. Sobre todo el nombre (DE PAGO) al lado de cada edición para que se tenga claro. en mi caso seleccionaré la versión Enterprise normal. Indicar la edición que os corresponda.

Siguiente pregunta, aceptar los términos de licencia, indicar un simple YES. De lo contrario, no habrá instalación.

Definir el idioma para el servidor Microsoft SQL Server, también seleccionar el que más os ate a vuestra instalación. En esta entrada he escogido Español.

Definir la contraseña para el administrador del Microsoft SQL Server. Recordad utilizar una contraseña fuerte en entornos de producción.

Y ya está, el sistema se encarga de hacer la configuración final de la edición y crea el servicio.

Acabada la instalación se puede comprobar el estado del servicio de Microsoft SQL Server con el comando:

systemctl status mssqlserver

Si todo está correcto veremos que el servicio está activo y ejecutándose.

 

En el caso que se tengan que programar tareas en el SQL Server, por ejemplo, las tareas de mantenimiento o copias de seguridad, hay que instalar el agente de SQL Server. Para hacerlo, hay suficiente con el siguiente comando:

sudo apt-get install -y mssql-server-agent

Seguida de un reinicio del servicio de Microsoft SQL Server para aplicar los cambios:

sudo systemctl restart mssql-server

Otros servicios que se pueden incorporar a la instalación de Microsoft SQL Server sobre Ubuntu, a fecha de hoy:

  • Microsoft SQL Server Full Text Search, con el comando:
sudo apt-get install -y mssql-server-fts
  • SSIS sobre Linux, con el comando:
sudo apt-get install -y mssql-server-is
  • Extensiones HA de Microsoft SQL Server, con el comando:
sudo apt-get install -y mssql-server-ha

¿Lo tenemos todo?

Si la instalación SÓLO es local sí, pero si se debe acceder al SQL Server de forma remota, desde la red, hay que habilitar en el cortafuegos el puerto TCP 1433 para permitir la conectividad.

Aseguramos que el cortafuegos está habilitado:

sudo ufw enable

Ejecutamos los siguientes comandos para permitir todo el tráfico desde:

  • cualquier IP (any), lo recomendable sería limitar las Ips desde donde nos conectaremos al SQL Server).
  • a cualquier IP (any), también lo recomendable sería limitar acceder sólo a la IP concreta del servidor SQL Server.
  • por el puerto TCP 1433.
sudo ufw allow proto tcp from any to any port 1433

Comprobamos que ha creado las reglas en el cortafuegos:

sudo ufw status

Recargamos las reglas para asegurar su aplicación:

sudo ufw reload

Comprobamos la conexión desde el exterior, con el propio Microsoft SQL Server Management Studio, realizando la conexión como en cualquier otro Microsoft SQL Server de toda la vida y…

Voilà, tenemos un SQL Server ejecutándose.

En el lado izquierdo, botón derecho sobre el nombre del servidor, hacer clic en la opción Propiedades para ver la configuración del servidor.

En el cuadro de propiedades se puede validar la versión de Microsoft SQL Server y la versión del servidor Linux donde se está ejecutando, concretamente un Ubuntu 17.10.

A partir de aquí, todo igual como siempre, se puede crear una nueva base de datos y ¡a trabajar con él!

 

Instalación herramientas de Microsoft SQL Server 2017 sobre Ubuntu

Sin embargo, si queremos gestionar el Microsoft QQL Server desde la propia consola de Ubuntu, hay que instalar las herramientas de conexión, incorporando el repositorio correspondiente a productos Microsoft en Ubuntu. Las claves son las mismas:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Pero el archivo de la lista de aplicaciones varia:

sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

Realizamos la actualización de repositorios:

sudo apt-get update

Ejecutar el comando para la instalación de las herramientas de Microsoft SQL Server:

sudo apt-get install -y mssql-tools unixodbc-dev

Aceptamos los términos de licencia, tanto de las herramientas SQL Server como del ODBC que salen en dos ocasiones, y esperamos a que acabe la instalación.

Por comodidad añadimos la ruta de las herramientas de SQL Server en el PATH:

echo 'export PATH="$PATH:/opt/mssql-tools/bin'" >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin'" >> ~/.bashrc

Y recargamos el archivo bashrc para aplicar los cambios a la sesión abierta:

source ~/.bashrc

Ya se puede establecer la comunicación con la base de datos, indicando el equipo donde conectar  (-S), el usuario (-U) y la contraseña (-P ‘contraseña’)

sqlcmd -S localhost -U SA -P Password

Si todo está correcto debe cambiar el prompt a 1>

A partir de aquí, ya se puede operar con los comandos de SQL Server. No os dejéis el GO para ejecutar los comandos. Para crear una base de datos y listarla conforme se ha creado en el sistema:

CREATE DATABASE PruebaSQLCMD
SELECT Name from sys.Databases
GO

Para salir de la consola de comandos de SQL Tools, con el Control+C o el comando QUIET.

 

¿Te ha gustado el artículo? Lo puedes compartir en las redes sociales. También puedes dejar tu opinión, comentario o sugerencia. ¡Gracias!

Similar Posts by The Author: