Cómo instalar y utilizar Microsoft SQL Server en Debian

MSSQL Server o Microsoft SQL Server es un RDBMS (Sistema de Gestión de Bases de Datos Relacionales) desarrollado por Microsoft. Como servidor de bases de datos, se utiliza para almacenar datos para tus aplicaciones. El Servidor SQL es ideal para múltiples propósitos de aplicaciones, puedes utilizar MS SQL Server como base de datos para tus aplicaciones de escritorio, utilizarlo para tus aplicaciones web, o cualquier pequeña aplicación de servidor.

Este tutorial te mostrará cómo instalar y utilizar el Servidor de bases de datos Microsoft SQL en Debian. En primer lugar, configurarás el repositorio de MSSQL Server y luego lo instalarás. Después, configurarás el cortafuegos UFW e instalarás las Herramientas MSSQL que se utilizarán para gestionar el Servidor MSSQL. Por último, utilizarás las Herramientas MSSQL para conectarte al Servidor MSSQL y aprenderás las operaciones básicas de CRUD (Crear, Leer, Actualizar y Eliminar) en el Servidor MSSQL.

Requisitos previos

Para seguir y completar este tutorial, necesitarás los siguientes requisitos:

  • Un servidor Linux que ejecute Debian 11 con un mínimo de 4 GB de memoria – Este ejemplo utiliza un servidor Debian con nombre de host ‘mssql-deb’ y dirección IP ‘192.168.5.10’.
  • Un usuario no root con privilegios sudo root/administrador.

Cuando estos requisitos estén listos, podrás iniciar el proceso de instalación de MSSQL Server.

Configurar el repositorio

En este primer paso, configurarás el repositorio de MSSQL Server en tu servidor Debian. Configurarás el repositorio de MSSQL Server para el MSSQL Server 2019.

Para empezar, accede a tu servidor como tu usuario y ejecuta el comando‘sudo su‘ para obtener los privilegios de root. A continuación, introduce el comando apt para actualizar y refrescar tu índice de paquetes.

sudo su
sudo apt update

Ahora instala algunas dependencias básicas utilizando el siguiente comando ‘apt install‘. Introduce y cuando te lo pida y pulsa ENTER para continuar.

sudo apt install gnupg2 apt-transport-https wget curl

instalar deps básicos

A continuación, utiliza el siguiente comando‘wget‘ para descargar la clave GPG del repositorio de Microsoft SQL Server. A continuación, convierte el archivo GPG de .asc a .gpg utilizando el siguiente comando ‘gpg –dearmor‘.

wget -q -O- https://packages.microsoft.com/keys/microsoft.asc | \
    gpg --dearmor | sudo tee /usr/share/keyrings/microsoft.gpg > /dev/null 2>&1

Ahora introduce el siguiente comando para añadir el repositorio de MSSQL Server a tu sistema Debian. Como Microsoft no ha proporcionado el paquete MSSQL Server para la distribución Debian, utilizarás el paquete MSSQL Server para Ubuntu.

echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019 focal main" | \
    sudo tee /etc/apt/sources.list.d/mssql-server-2019.list

Por último, introduce el siguiente comando«apt» para actualizar y refrescar el índice de paquetes de Debian y aplicar los cambios.

sudo apt update

configurar repositorio

Ahora que has añadido el repositorio de MSSQL Server, estás listo para instalar y configurar el MSSQL Server.

Instalación del MSSQL Server 2019

En este paso, instalarás el paquete MSSQL Server 2019 en tu sistema Debian a través del repositorio oficial de MSSQL Server. A continuación, configurarás la instalación seleccionando el tipo de MSSQL Server que quieres instalar, y también configurando la contraseña por defecto para la autenticación del MSSQL Server.

Para instalar el paquete MSSQL Server, introduce el siguiente comando ‘apt install ‘. Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

sudo apt install mssql-server

instalar servidor mssql

Una vez instalado el MSSQL Server, deberías recibir una salida como ésta – Una instrucción para completar la instalación del MSSQL Server.

instalación finalizada

Introduce el siguiente comando para instalar y configurar tu instalación de MSSQL Server.

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

Durante el proceso, se te preguntará por las siguientes configuraciones:

  • Selecciona la edición de MSSQL Server que deseas instalar. Introduce el número 3 para instalar el Servidor MSSQL Express en tu sistema Debian.
  • Ahora introduce «Sí» para confirmar y aceptar los términos de la licencia.
  • Por último, introduce la nueva contraseña para la instalación de tu servidor MSSQL y repite el proceso.

Cuando la instalación se haya realizado correctamente, deberías recibir un mensaje como «Lainstalación se ha completado correctamente. SQL Server se está ejecutando‘.

configurar servidor mssql

Introduce el siguiente comando de utilidad systemctl para verificar el estado del Servidor MSSQL y asegurarte de que se está ejecutando.

sudo systemctl is-enabled mssql-server
sudo systemctl status mssql-server

La salida‘habilitado‘ confirma que el Servidor MSSQL se iniciará automáticamente al arrancar el sistema. Y el estado del Servidor MSSQL es ‘activo (en ejecución)‘.

verificar servidor mssql

En este paso, has instalado y configurado el Servidor MSSQL. También has comprobado que el Servidor MSSQL se está ejecutando y está activado. En el siguiente paso, configurarás el cortafuegos UFW.

Configurar el UFW

Tras instalar y configurar el Servidor MSSQL, ahora instalarás UFW, abrirás la aplicación OpenSSH y, a continuación, abrirás el puerto por defecto 1443 que utiliza el Servidor MSSQL.

Instala UFW utilizando el siguiente comando ‘apt install’. Introduce y cuando te lo pida y pulsa ENTER para continuar.

sudo apt install ufw

instalar ufw

Una vez instalado ufw, introduce el siguiente comando para añadir el servicio OpenSSH y el puerto 1433/tcp del Servidor MSSQL al ufw.

sudo ufw allow OpenSSH
sudo ufw allow 1433/tcp

A continuación, inicia y habilita ufw mediante el siguiente comando. Cuando te pida confirmación, introduce y y pulsa ENTER para continuar. Con esto, el cortafuegos ufw debería estar ejecutándose y habilitado.

sudo ufw enable

configuración ufw

Para asegurarte de que el ufw se está ejecutando y de que el servicio OpenSSH y el puerto‘1433/tcp ‘ del Servidor MSSQL están añadidos, introduce el siguiente comando para comprobar el estado del ufw.

sudo ufw status

La salida«Estado: activo» confirma que la ufw se está ejecutando. Además, verás el servicio OpenSSH y el puerto 1433/tcp añadidos y disponibles en ufw.

verificar ufw

Ahora que has instalado ufw y añadido el servicio OpenSSH y el puerto ‘1433/tcp‘ del Servidor MSSQL a ufw. En el siguiente paso, instalarás MSSQL Tools en tu sistema Debian.

Instalación de las Herramientas MSSQL

Llegados a este punto, ya has instalado y asegurado el Servidor MSSQL en el sistema Debian. Por ahora, instalarás las Herramientas MSSQL que se utilizarán para conectar y gestionar tu Servidor MSSQL. Las Herramientas MSSQL están disponibles en diferentes repositorios, por lo que tienes que añadir el repositorio de Herramientas MSSQL y luego instalarlo mediante APT.

Introduce el siguiente comando para añadir el repositorio del paquete MSSQL Tools.

echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod focal main" | \
    sudo tee /etc/apt/sources.list.d/prod.list

Después, actualiza y refresca tu índice de paquetes mediante el siguiente comando ‘aptupdate‘.

sudo apt update

configurar repositorio

Ahora introduce el siguiente comando ‘apt install ‘ para instalar el paquete MSSQL Tools. Introduce y cuando se te solicite y pulsa ENTER para continuar.

sudo apt install mssql-tools unixodbc-dev

instalar herramientas mssql

Cuando se te pida la confirmación de los términos de la licencia, selecciona Sí para aceptar y pulsa INTRO para continuar.

aceptar licencia

aceptar licencia

Una vez finalizada la instalación, los archivos binarios de las Herramientas MSSQL estarán disponibles en el directorio‘/opt/mssql-tools/bin‘. Introduce el siguiente comando para verificar la lista de archivos en el directorio ‘ /opt/mssql-tools/bin’, y deberías ver dos archivos binarios‘bcp‘ y‘sqlcmd‘.

ls /opt/mssql-tools/bin

Con la configuración por defecto, las Herramientas MSSQL sólo pueden ejecutarse dentro del directorio ‘/opt/mssql-tools/bin‘. Para solucionarlo, debes añadir el directorio ‘ /opt/mssql-tools/bin’ al entorno PATH del sistema mediante la configuración‘~/.bashrc’.

Introduce el siguiente comando para añadir el directorio ‘/opt/mssql-tools/bin’ a la variable de entorno PATH binario.

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

Ahora vuelve a cargar el archivo de configuración ‘~/.bashrc’ y comprueba la variable de entorno PATH. Si lo consigues, deberías ver el directorio ‘/opt/mssql-tools/bin’ disponible en la lista de PATH binario.

source ~/.bashrc
echo $PATH

Por último, introduce el siguiente comando para asegurarte de que puedes ejecutar las utilidades de comandos MSSQL Tools. Y deberías ver la ruta completa de ambos archivos binarios‘sqlcmd‘ y‘bcp‘.

which sqlcmd
which bcp

configurar herramientas msssql

Llegados a este punto, ya has instalado y configurado el servidor MSSQL. También has asegurado tu servidor Debian con UFW e instalado MSSQL Tools. En el siguiente paso, aprenderás a conectarte al Servidor MSSQL utilizando las Herramientas MSSQL.

Conexión al servidor MSSQL

En esta sección, te conectarás al Servidor MSSQL mediante las Herramientas MSSQL que has instalado. Te conectarás al Servidor MSSQL mediante la utilidad ‘sqlcmd’ al puerto por defecto 1443 del Servidor MSSQL.

Conéctate al Servidor MSSQL utilizando el siguiente comando ‘sqlcmd’. Cuando se te solicite, introduce tu contraseña del Servidor MSSQL y pulsa INTRO.

sqlcmd -S localhost -U SA -p

Una vez iniciada la sesión, introduce la siguiente consulta para comprobar la versión actual del Servidor MSSQL. Deberías ver el MSSQL Server 2019 Express Edition instalado en el sistema Linux Debian 11.

select @@version
go

login servidor mssql

Por último, introduce la siguiente consulta para comprobar la lista de bases de datos predeterminadas y disponibles en el MSSQL Server. Deberías ver las bases de datos master, tempdb, model y msdb disponibles como bases de datos predeterminadas en MSSQL Server.

select name from sys.databases;
go

listar bases de datos

Operaciones básicas del Servidor MSSQL

Tras conectarte al Servidor MSSQL, ahora aprenderás el funcionamiento básico del Servidor MSSQL. Crearás un nuevo usuario y una nueva base de datos, e insertarás y recuperarás datos, en el Servidor MSSQL mediante la utilidad ‘sqlcmd’.

Introduce la siguiente consulta para crear un nuevo login en tu Servidor MSSQL. En este ejemplo, crearás un nuevo login llamado‘Bob‘, y asegúrate de cambiar la contraseña por defecto en esta consulta.

CREATE LOGIN Bob WITH PASSWORD='p4ssw0rdBob';
GO

Ahora crea una nueva base de datos‘TestDB‘ utilizando la siguiente consulta SQL.

CREATE DATABASE TestDB
GO

crear inicio de sesión

A continuación, introduce las siguientes consultas para cambiar a la base de datos ‘TestDB‘ y crear una nueva tabla llamada ‘usuarios‘. Dentro de la tabla «usuarios«, crearás 5 campos diferentes: id, nombre, apellido, correo electrónico y last_login.

Use TestDB
GO
CREATE TABLE users (
    id INT PRIMARY KEY IDENTITY (1, 1),
    first_name VARCHAR (50) NOT NULL,
    last_name varchar(50) NOT NULL,
    email varchar(50),
    last_login DATE NOT NULL
);
GO

crear base de datos y tabla

Dentro de la base de datos‘TestDB‘, ejecuta la siguiente consulta para crear un nuevo usuario llamado‘Bob‘ y especifica el login para‘Bob‘.

CREATE USER Bob FOR LOGIN Bob;
GO

Una vez creado el usuario, introduce la consulta siguiente para conceder operaciones CRUD básicas(Crear, Leer, Actualizar y Eliminar) de la tabla ‘usuarios’ al usuario llamadoBob’.

GRANT SELECT, INSERT, UPDATE, DELETE ON users TO Bob;
GO

Ahora escribe‘quit‘ para salir del intérprete de comandos de MSSQL Server.

quit

Llegados a este punto, ya has creado el login, la base de datos, el usuario y la tabla en el Servidor MSSQL.

crear inicio de sesión

Para asegurarte de que el nuevo usuario funciona, iniciarás sesión en el Servidor MSSQL como usuario«Bob» en la base de datos específica«TestDB«. A continuación, insertarás nuevos datos en la tabla‘usuarios‘.

Introduce el siguiente comando«sqlcmd» para acceder al servidor MSSQL con el usuario«Bob» a la base de datos«TestDB«. Cuando se te pida la contraseña, introduce la contraseña que has creado para el inicio de sesión llamado ‘Bob‘.

sqlcmd -S localhost -U Bob -d TestDB -p

Una vez conectado, ejecuta la siguiente consulta para insertar nuevos datos en la tabla‘usuarios‘. Cuando la operación se realice correctamente, deberías recibir una salida como ‘(1 fila afectada)’.

INSERT INTO users (first_name, last_name, email, last_login) VALUES ('Bob', 'Marlyn', '[email protected]', '20220901');
GO

Ahora introduce la siguiente consulta para recuperar tus datos de la tabla ‘usuarios‘. Cuando la operación tenga éxito, deberías obtener los datos impresos en tu pantalla.

SELECT * FROM users
GO

verifica la inserción

SELECT Name from sys.Databases
GO

Conclusión

En esta guía, has instalado y configurado MSSQL Server en el sistema Debian 11. También has aprendido a instalar y configurar SQL Tools en Debian para gestionar MSSQL Server.

Al final, también has aprendido el uso básico de las Herramientas SQL ‘sqlcmd’ para conectar con el Servidor SQL y has aprendido el funcionamiento básico del Servidor SQL para crear el usuario MSSQL, configurar la base de datos y la tabla, y también las operaciones CRUD básicas (Crear, Leer, Actualizar, Eliminar) en el Servidor MSSQL.

También te podría gustar...