[SQL SERVER LINUX] Tareas básicas de configuración

En un articulo anterior ya vimos como instalar bajo linux el motor de base de datos y las tools de sql server. Vamos a dedicar este articulo a tareas básicas de configuración


Usando la utilidad “/opt/mssql/bin/mssql-conf” podemos modificar los siguientes parámetros de configuración

  • Cambiar el puerto TCP:
    sudo /opt/mssql/bin/mssql-conf set tcpport NUEVO_PUERTO_TCP
    sudo systemctl restart mssql-server
    

    Una vez reiniciado el servicio, podemos usar la utilidad “sqlcmd” para establecer la conexión sobre el nuevo puerto TCP.

    sqlcmd -S localhost,NUEVO_PUERTO_TCP -U SA -P 'CLAVE'
    

  • Cambiar la ubicación predeterminada de las bases de datos: por defecto se usa la ruta “/var/opt/mssql/data”. Para cambiarla debemos seguir los siguientes pasos:
    1. Creamos un directorio y cambiamos el propietario de esa carpeta a “mssql”
      sudo mkdir /home/NOMBRE_USUARIO/datos_sql
      sudo chown mssql /home/NOMBRE_USUARIO/datos_sql
      sudo chgrp mssql /home/NOMBRE_USUARIO/datos_sql
      
    2. Usamos “mssql-conf” para cambiar la ubicación de los datos (.mdf)
      sudo /opt/mssql/bin/mssql-conf set defaultdatadir /home/NOMBRE_USUARIO/datos_sql
      
    3. Usamos “mssql-conf” para cambiar la ubicación de los ficheros del log de transacciones (.ldf)
      sudo /opt/mssql/bin/mssql-conf set defaultlogdir /home/NOMBRE_USUARIO/datos_sql
      
    4. Reiniciamos el motor de base de datos
      sudo systemctl restart mssql-server
      

      Nota: si el servicio no se inicia, lo más probable es que tengamos que mover manualmente los ficheros mdf/ldf de la base de datos “tempdb”

      sudo mv /var/opt/mssql/data/tempdb.mdf /home/NOMBRE_USUARIO/datos_sql
      sudo mv /var/opt/mssql/data/templog.ldf /home/NOMBRE_USUARIO/datos_sql
      
  • Cambiar la ubicación de los SQL DUMP: Por defecto los “memory dump” de sql server son almacenados en “/var/opt/mssql/log”. Para cambiarla debemos seguir los siguientes pasos:
    1. Creamos un directorio y cambiamos el propietario de esa carpeta a “mssql”
      sudo mkdir /home/NOMBRE_USUARIO/dump_sql
      sudo chown mssql /home/NOMBRE_USUARIO/dump_sql
      sudo chgrp mssql /home/NOMBRE_USUARIO/dump_sql
      
    2. Usamos “mssql-conf” para cambiar la ubicación de los datos (.mdf)
      sudo /opt/mssql/bin/mssql-conf set defaultdumpdir /home/NOMBRE_USUARIO/dump_sql
      
    3. Reiniciamos el motor de base de datos
      sudo systemctl restart mssql-server
      
  • Cambiar la ubicación predetermianda de las copias de seguridad
    sudo /opt/mssql/bin/mssql-conf set defaultbackupdir /home/NOMBRE_USUARIO/dump_sql
    sudo systemctl restart mssql-server
    
  • Cambiar la clave del usuario SA. Para cambiar la clave del usuario SA, hay que volver a lanzar el asistente y para ello es necesario que el servicio “mssql-server” este parado.
    sudo systemctl stop mssql-server.service
    sudo /opt/mssql/bin/sqlservr-setup
    sudo systemctl start mssql-server.service