Instalando SQL Server on RedHat Enterprise Linux

Con la liberación de SQL Server vNext CTP1 (Community Tecnology Preview)  después del 18 de Noviembre del 2016, también se liberó la posibilidad de poder instalar SQL Server sobre el sistema operativo de Linux, las versiones que están soportadas por el momento son:

  • Red Hat Enterprise Linux 7.2
  • Ubuntu Linux 16.04
  • SUSE Linux Enterprise Server v12 SP2 (por liberarse pronto)

Clic para ir al sitio oficial del Public Preview de SQL Server on Linux

¿Que necesitamos para instalar SQL Server on Linux?

Primero debemos de elegir nuestra plataforma donde haremos la instalación, tenemos la posibilidad de poder instalarlo en maquinas virtuales que estén en Linux, macOs, Windows, Docker o Azure

Clic si tenemos dudas sobre como crear una imagen de docker para Linux, Mac o Windows

Para este post usaremos una maquina virtual de Red Hat Enterprise Linux 7.2 que estará viviendo en Azure

Creando la maquina virtual Red Hat Enterprise Linux 7.2 en Azure

Este es el acceso directo para crear la maquina virtual en Azure

Una vez que estamos dentro del portal de Azure (portal.azure.com) se inicia el proceso de creación de nuestra maquina

  1. Seleccionar el modelo de despliegue, solo se permite usar el modelo “Resource Manager”
  2. Configuración básica de la maquina virtual
    • Nombre
    • Tipo de disco (se recomienda usar estado solido “SSD”)
    • Usuario (Administrador)
    • Tipo de autenticación (SSH public key/Password), si son tus primeros acercamientos con Linux, te recomiendo usar Password, si te sientes con suerte, te recomiendo leer esta guía de despliegue sobre s2-ssh
    • Suscripcion
    • Nombre del grupo de recurso a usar (se puede crear uno nuevo o usar un existente)
    • Al final tendríamos algo similar
    • instalacion_sql_linux_001
  3. Tamaño de la maquina virtual
    • La recomendación es usar una maquina virtual clase DS2_V2 ya que el mínimo son 4Gb de RAM, sin embargo, para efectos de pruebas iniciales puedes usar la DS1_V2 de 3.5GB de RAM y 1 core, lo que sigo recomendando es dejar el disco de estado solido (SSD) para obtener buen rendimiento, el precio estimado para esta maquina virtual es de 43 USD + storage
  4. Configuración de características
    • Cuenta de Storage (recomiendo personalizar el nombre para que sea fácil identificar el almacenamiento)
    • Network (nombre de la red virtual)
    • Subnet (rango de IPs internas)
    • Public Ip address (recomiendo personalizar para una mejor identificación)
    • Network Security Group (firewall)
    • Extensions (no mover)
    • High Availability (no mover)
    • Monitoring (no mover)
    • Diagnostic storage account (recomiendo ponerlo en una cuenta de storage por separado, de tipo estándar (el costos del GB es más barato) )
    • Al final debe de quedar algo similar a las siguientes imágenes
    • instalacion_sql_linux_002instalacion_sql_linux_003
  5. Resumen
    • Se nos muestra todas las configuraciones que hemos seleccionado en los pasos anteriores y si estamos de acuerdo, presionamos el botón OK y se inicia la creación de nuestra maquina virtual.

Agregando el permiso para escuchar en el puerto 1433

Este punto es importante, dado que nuestra maquina virtual la vamos a usar como un servidor que acepte peticiones de consultas desde cualquier cliente, debemos de agregar la regla: SQLServerRemoteConnections

Desde nuestro portal de Azure, buscamos el grupo de seguridad de la red que acabamos de crear (Paso 5 de configuración de características) este quedó con el nombre SQLOnLinuxCTP1-nsg

Seleccionamos Inbound security rules, click en el boton +Add y escribimos 

  • Nombre: SQLServerRemoteConnections
  • Priority: 10
  • Source: Any
  • Service: Seleccionar MS SQL
  • Protocol:  (Port Range) 1433
  • Action: Allow
  • OK

Al final debemos de tener algo similar a esta imagen

instalacion_sql_linux_004

Casi estamos listos… Solo nos falta ¿Cómo conectarnos a nuestra maquina virtual de Linux?

Si estas usando Windows 10 puedes usar BASH Shell, con la versión de aniversario esta característica se encuentra habilitada y lista para usarse, esta es aun una versión beta y no esta completa aún, se requiere tener Windows 10 64-bit y el build 14393 o superior, también debes de cambiar el SO a mode developer, la guía oficial de instalación la puedes encontrar aquí.

Si al final tienes algún inconveniente con lo anterior, te recomiendo:

Una vez que se abre nuestra pantalla de configuración de PuTTY debemos de indicar el nombre del host o la dirección IP de la maquina virtual para que pueda enlazarnos a nuestro ambiente Linux

instalacion_sql_linux_005

 

Instalando SQL Server en Linux

Primero debemos de cambiarnos a root por lo cual podemos escribir el comando: sudo su (enter) se nos pedirá la contraseña del Administrador y posteriormente nos cambiara a modo Root

Sino queremos hacer dos pasos, entonces escribe directamente el siguiente comando para obtener el setup de SQL Server para su instalación

sudo /opt/mssql/bin/sqlservr-setup

Aquí de la misma manera se nos pide la contraseña del Administrador para poder ejecutar la instalación en modo root

instalacion_sql_linux_006

Aceptamos los términos de la licencia (escribir YES)

instalacion_sql_linux_007

Se nos pide la contraseña para el SA y después volvemos a escribirla para confirmarla

instalacion_sql_linux_008.png

Se nos pide confirmar si queremos iniciar el servicio en ese momento (y/n) y también se nos pide si queremos habilitar que el servicio se inicie junto con el boot (y/n) en ambos casos responder “y”

instalacion_sql_linux_009

Después de eso, es cuestion de esperar alrededor de 2-3 minutos en que SQL Server on Linux quede instalado de manera exitosa.

instalacion_sql_linux_010

Instalar las herramientas de conexión de SQL Server on Linux

Una vez concluida la instalación se puede administrar el servidor desde SQL Server Management Studio (17.0 RC1) para descargarlo clic aquí.

En nuestro caso vamos a instalar las SQL Server tools de linea de comandos, Microsoft ODBC drivers y sus dependencias, el paquete de herramientas contiene:

  • sqlcmd — utileria para linea de comandos
  • bcp — utileria para bulk import/export

Pasos

  • Pasar a modo super-usuario (root)
    • sudo su
  • Descargar los archivos de configuración del repositoria de Microsoft Red Hat
  • Salir de root
    • exit
  • Instalar las herramientas de SQL Server
    • sudo yum install mssql-tools
    • instalacion_sql_linux_012
    • instalacion_sql_linux_013

Prueba de conexion usando sqlcmd

La herramienta sqlcmd funciona en Linux de la misma manera que en Windows, simplemente escribimos el comando seguido de los parámetros de conexión y nos podremos conectar a nuestro servidor

sqlcmd -Usa

se nos pedirá escribir la contraseña y nos dará el acceso a nuestra instancia de SQL Server

instalacion_sql_linux_014

Una vez dentro de la instancia de SQL Server a modo de ejemplo puedes escribir el siguiente TSQL

  • select name from sys.database
  • go

instalacion_sql_linux_015

Buenas practicas para la instalación

Una vez concluido este paso a paso de instalación de SQL Server en Linux, uno debe de entender y darse cuenta que las buenas practicas para instalación nunca pasaran de moda y siempre las debemos de tener presentes

  • Entender y hacerle caso a los prerrequisitos sigue siendo muy importante
  • Elegir el sistema operativo (RedHat., Ubuntu, SUSE) para buscar los comandos que correspondan (en caso de que cambie sintaxis)
  • ¿Maquina virtual, Docker, maquina física? Dependerá de tu objetivo, pero sugiero que uses maquinas virtuales o Docker, debemos de recordar que este es el primer CTP y que conforme avance el tiempo saldrán nuevas versiones
  • instala siempre la ultima versión de las herramientas de conexión de SQL Server
  • Instala, prueba y comparte (no te quedes con el conocimiento y apoya a la comunidad siempre)

 

En verdad espero que esta instalación paso a paso ayude a muchos DBAs de carrera y también a muchos DBAs por accidente que les tocará tener que instalar SQL Server on Linux como parte de la evolución de un DBA.

 

Jesús Gil

MVP Data Platform

twitter @jesus_gilv

MS_Love_Linux

 

Advertisements

About jesusgilv

Jesus Gil o Dr. Rudo SQL Es un experto en SQL Server con mas de 15 años de experiencia en bases de datos y un speaker habitual de los SQL-Saturday en Latinoamérica. Es un MVP de Data Platform desde el año 2010. Es Coautor de la guía oficial de Migración de SQL Server 2012 escrita para Microsoft Corp. Así como también de la guía oficial de Migración de SQL Server 2014
This entry was posted in Azure, Container, DBA, Docker, Linux, RedHat, SQL Server, SQL Server 2016, SQL Server on Linux, SUSE, Ubuntu, Uncategorized, VM. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s