Cómo Configurar SQL Server Sobre Linux – Parte III

En la tercera parte de ‘Cómo configurar SQL Server sobre Linux’, configuraremos los discos y particiones de la VM y cambiaremos las rutas para archivos de datos, log y backups por defecto. Por último, crearemos una base de datos para verificar que los archivos se hayan creado en las nuevas rutas por defecto.

Lee la primera y segunda parte de esta serie aquí:

Primera Parte – Cómo configurar SQL Server sobre Linux – Parte I
Segunda Parte – Como configurar SQL Server sobre Linux – Parte II

1. Configura los discos y particiones de Data, Log y Backups. Necesitamos crear las particiones necesarias que alojarán los archivos de bases de datos, los logs y los backups, para después crear un filesystem en cada uno de ellos y montarlos en los discos instalados.

Primero, buscamos los discos SCSI instalados en el sistema con DMESG.

dmesg | grep SCSI

Nos debe mostrar los discos que añadimos al momento de crear la máquina virtual.

Usa FDISK para configurar el primer disco, /dev/sdc.

sudo fdisk /dev/sdc

En el prompt, tipea “n”, luego “p” y enter en las 3 opciones siguientes para escoger los valores por defecto. De nuevo en el prompt, tipea “p” para listar las particiones existentes y “w” para escribir los cambios realizados a disco.

configure sql on linux

Formatea el disco con el sistema de archivos extendido ext4 y crea una carpeta que servirá para almacenar los archivos de datos de las bases de datos. A esta carpeta la llamaremos “UserData” y estará ubicada en /var/opt/mssql/data.

sudo mkfs -t ext4 /dev/sdc1
sudo mkdir /var/opt/mssql/data/UserData

Cambia el propietario del directorio creado al usuario mssql y montamos el sistema de archivos en el disco.

sudo chown mssql:mssql /var/opt/mssql/data/UserData
sudo mount /dev/sdc1 /var/opt/mssql/data/UserData

Usa BLKID para mostrar los atributos de los dispositivos de bloque del SO:

sudo -i blkid

Verás algo similar a esto. Toma nota del UUID correspondiente a tu disco, en mi caso el de /dev/sdc1.

configure sql on linux

Edita el archivo fstab con VI y agrega esta línea al final: UUID=TU_UUID /var/opt/mssql/data/UserData ext4 defaults,nofail 0 0

sudo vi /etc/fstab

Guardar los cambios y salir del editor. FSTAB debería verse así con la última línea que acabamos de añadir:

configure sql on linux

Repite los mismos pasos de toda la sección 1 para los discos “log” y “backups”. Las carpetas correspondientes puedes llamarlas “UserLog” y “Backups” y ubicarlas en la misma raíz que los archivos de datos: /var/opt/mssql/data.

2. Cambia las rutas por defecto. Utiliza los siguientes comandos para configurar las carpetas de datos, log y backups de la instancia de base de datos:

sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /var/opt/mssql/data/UserData
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /var/opt/mssql/data/UserLog
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /var/opt/mssql/data/Backups

Esto significa que cuando se cree una base de datos, los archivos de datos y logs se crearán automáticamente en /var/opt/mssql/data/UserData y /var/opt/mssql/data/UserLog, respectivamente. De la misma manera, cuando generes respaldos, el motor tendrá privilegios para guardar los archivos de backup en /var/opt/mssql/data/Backups.

Reinicia el servicio para que los cambios surtan efecto.

sudo systemctl restart mssql-server

Con esto hemos culminado la configuración básica de SQL Server sobre Linux. Si deseas comprobar la última configuración puedes ejecutar esto para crear una nueva base de datos:

CREATE DATABASE MyAzureDB

Después de ello, si ejecutas SELECT name,physical_name FROM sys.master_files; podrás verificar que los archivos .mdf y .ldf se han creado automáticamente en las rutas que especificamos anteriormente.

configure sql on linux

Si tienes alguna duda, comentarios o sugerencias, me puedes enviar un correo a bitácoradeundba@gmail.com.

Deja un comentario