Skip to content

SQL Server

Paso 1: Instalación de SQL Server 2019

  1. Descargue la clave pública, conviértala de ASCII a formato GPG y escríbala en la ubicación requerida:

    curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
    
  2. Descargue y registre manualmente el repositorio de Ubuntu de SQL Server:

    curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list
    
  3. Ejecute los siguientes comandos para instalar SQL Server:

    sudo apt-get install -y mssql-server 
    
  4. Una vez finalizada la instalación del paquete, ejecute y siga las indicaciones para establecer la contraseña de SA y elija su edición. Le recordamos que las siguientes ediciones de SQL Server tienen licencia gratuita: Evaluation, Developer y Express.mssql-conf setup

Paso 2: Configuración del servicio

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

Y finalmente

sudo ufw allow 1433/tcp

Una vez realizada la configuración, compruebe que el servicio se está ejecutando:

systemctl status mssql-server --no-pager

Nota: Hacer lo mismo en la instancia. Crear regla para permitir el puerto 1433

Instalación de las herramientas de línea de comandos de SQL Server

Siga estos pasos para instalar mssql-tools18 en Ubuntu.

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list

Actualice la lista de fuentes y ejecute el comando de instalación con el paquete de desarrollador unixODBC.

sudo apt-get update 
sudo apt-get install mssql-tools18 unixodbc-dev
  1. Opcional: Agregue a su variable de entorno en un shell bash./opt/mssql-tools18/bin/PATH

    Para que sqlcmd y bcp sean accesibles desde el shell bash para las sesiones de inicio de sesión, modifique su en el archivo con el siguiente comando:PATH~/.bash_profile

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

    Para que sqlcmd y bcp sean accesibles desde el shell bash para sesiones interactivas/sin inicio de sesión, modifique el en el archivo con el siguiente comando:PATH~/.bashrc

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

Conéctese localmente

En los pasos siguientes se usa sqlcmd para conectarse localmente a la nueva instancia de SQL Server.

  1. Ejecute sqlcmd con parámetros para el nombre de SQL Server (), el nombre de usuario () y la contraseña (). En este tutorial, se está conectando localmente, por lo que el nombre del servidor es . El nombre de usuario y la contraseña son los que proporcionó para la cuenta de SA durante la configuración.-S-U-Plocalhostsa

    sqlcmd -S localhost -U sa -P 'MiNiCo57**' -C -N -C -v TrustServerCertificate=true
    
SELECT name, database_id, create_date  
FROM sys.databases;  
GO

Instalacion con Docker

  1. Instalar Docker (si aún no lo tienes)
sudo apt update sudo apt install -y docker.io sudo systemctl enable --now docker

Verifica que Docker está funcionando:

docker --version

2. Descargar e iniciar un contenedor MySQL

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=MiNiCo57**' \
   -p 1433:1433 \
   -v /mnt/d/academia/bd:/var/opt/mssql/backups \
   --name sqlserver-container \
   -d mcr.microsoft.com/mssql/server:2022-latest

3. Verificar que el contenedor esté corriendo

docker ps

Si el contenedor está corriendo, verás algo como:

Si está en ejecución, verás algo como:

Si está en ejecución, verás una salida similar a:

CONTAINER ID IMAGE STATUS PORTS NAMES abcdef123456 mcr.microsoft.com/mssql/server:2022-latest Up X minutes 0.0.0.0:1433->1433/tcp sqlserver-container

Instalar mssql-tools dentro del contenedor

sudo apt update && sudo apt install -y curl apt-transport-https
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
echo "deb [arch=amd64,arm64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main" | tee /etc/apt/sources.list.d/mssql-release.list
sudo apt update
ACCEPT_EULA=Y apt install -y mssql-tools unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
sudo source ~/.bashrc

Ahora puedes ejecutar sqlcmd dentro del contenedor:

sqlcmd -S localhost -U SA -P 'MiNiCo57**'
exit

Remover el Contenedor

docker stop sqlserver-container 
docker sqlserver-container

Configuración en conexión con DBeaver

Para crear una base de datos, acceda a las siguientes opciones:

Botón derecho encima de DataBases

Copias de Respaldo (Backup)

Verificar que al momento de crer el contenedor en Docker tenga la opcion:

-v /mnt/d/academia/bd:/var/opt/mssql/backups

En caso que no tenga dicha ocpion, debe eliminar el contenedor y crearlo nuevamente segun las indicaciones en esta guia - parte superior.\

  • /mnt/d/academia/bd Esta carpeta se debe crear manualmente en su disco duro, en mi caso utilice la unidad d y las carpeta academia/bd. use la que considere

  • /var/opt/mssql/backups esta carpeta si debe dejarla igual

Existen diferentes opciones:

Backup con MS SQL Server Management

Luego verificar el archivo en la carpeta que definio manualmente en docker.

Backup con Dbeaver

Luego verificar el archivo en la carpeta que definio manualmente en docker.