Instalar SQL Server 2016 en Linux

Como bien sabemos desde hace poco está disponible la preview de SQL Server 2016 para Linux, la RTM tiene previsto lanzamiento en 2017.
Nosotros no nos íbamos a quedar atrás y nos hemos puesto a probarlo en nuestro entorno de Azure.
Instalando instancia SQL Server
Primero de todo vamos a crear un grupo de recursos que va alojar nuestra máquina Ubuntu con SQL Server.


Una vez creado vamos añadir la Virtual Machine al grupo de recursos. En este caso y como especifica la Web de Microsoft, vamos a utilizar la versión Ubuntu 16.04.
Empezamos a rellenar los campos de Nombre Máquina, Usuario, Password Etc.. Hasta finalizar la creación de la máquina virtual.


Ya teniendo la máquina creada en Azure, procedemos averiguar la IP pública para poder conectarnos a ella. Desde el apartado de Public IP Address podemos encontrarla.


Utilizando la herramienta Putty, procedemos a conectarnos a la maquina con la IP pública y las credenciales (Usuario y contraseña).
Lo primero, importamos las claves GPG del repositorio publico.
1 | curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add |

Registramos el repositorio de Microsoft SQL Server en Ubuntu.
1 | curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list |

Ejecutamos los siguientes comandos para la instalación de SQL Server 2016.
1 | sudo apt-get updatesudo apt-get install -y mssql-server |


Una vez finalizada la instalación del paquete, ejecutamos el script de configuración y seguimos las instrucciones. Nos aseguramos de especificar una contraseña segura para la cuenta SA (Longitud mínima 8 caracteres, incluyendo letras mayúsculas y minúsculas, dígitos base 10 y / o símbolos no alfanuméricos).
1 | sudo /opt/mssql/bin/sqlservr-setup |

Una vez realizada la configuración, comprobamos que el servicio se está ejecutando correctamente.
1 | systemctl status mssql-server |

Instalando Herramientas SQL Server
Vamos a continuar instalando las Tools necesarias para poder conectarnos a nuestra instancia de SQL Server.
Las tools para Linux que Microsoft SQL Server nos ofrece son las siguientes:
- Command-line tools
- Microsoft ODBC drivers
- Controladores de ODBC y sus dependiencias
En nuestro caso lo hemos instalado bajo un Ubuntu 16.04.
Como hemos hecho durante la instalación de SQL Server importamos las claves GPG del repositorio público.
1 | curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add |
Registramos el repositorio de Microsoft SQL Server en Ubuntu.
1 | curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list |

Ejecutamos los siguientes comandos para la instalación de SQL Server Tools.
1 | sudo apt-get install mssql-tools |

Durante la instalación aceptamos las dos pantallas que nos aparecen con los Términos de Licencia.

Una vez instaladas las Tools nos conectamos para comprobar que realmente está todo correctamente instalado y configurado.
1 | sqlcmd -S localhost -U SA -P ‘Password’ |
Una vez estemos conectados con nuestras credenciales de SA, lanzamos una consulta para comprobar que está todo correcto.
1 | SELECT Name from sys.Databases; |

Para poder acceder desde nuestra red local al SQL Server recién instalado, debemos ir a nuestro portal de Azure y desde ahí abrir el puerto 1433 que es el correspondiente a SQL Server.
Desde nuestro Network Security Group añadimos una nueva regla de seguridad (Inbound Security Rules).

Desde una máquina Windows abrimos Managament Studio de SQL Server, e introducimos la IP pública de nuestro servidor y el usuario SA con su password para conectarnos a la instancia.

Estando conectados a la instancia podemos lanzar una query para comprobar que nuestro SQL Server está instalado en Linux
1 | Select @@version |


Azure Solutions Architect, Infraestructura e Implementación. Centrado principalmente en la plataforma Azure, la arquitectura de red y la innovación.