Inicio rápido: instalar SQL Server y crear una base de datos en Red Hat

Se aplica a: síSQL Server (todas las versiones admitidas) : Linux

En este inicio rápido, instalará SQL Server 2017 o SQL Server 2019 en Red Hat Enterprise Linux (RHEL). Después, se conectará con sqlcmd para crear la primera base de datos y ejecutar consultas.

En este inicio rápido, instalará SQL Server 2019 en Red Hat Enterprise Linux (RHEL) 7/8. Después, se conectará con sqlcmd para crear la primera base de datos y ejecutar consultas.

Sugerencia

Este tutorial necesita la intervención del usuario y una conexión a Internet. Para obtener más información sobre los procedimientos de instalación desatendida o sin conexión, vea la Guía de instalación para SQL Server en Linux.

Prerrequisitos

Necesita un equipo con RHEL 7.7-7.8 u 8.0-8.3, con un mínimo de 2 GB de memoria.

Necesita un equipo con RHEL 7.7-7.8 u 8.0-8.3, con un mínimo de 2 GB de memoria.

Para instalar Red Hat Enterprise Linux en su propio equipo, vaya a https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. También puede crear máquinas virtuales con RHEL en Azure. Vea Creación y administración de máquinas virtuales Linux con la CLI de Azure y use --image RHEL en la llamada a az vm create.

Si anteriormente ha instalado una versión CTP o RC de SQL Server, primero debe quitar el repositorio anterior para seguir estos pasos. Para obtener más información, vea Configurar repositorios de Linux para SQL Server 2017 y 2019.

Para conocer otros requisitos del sistema, vea Requisitos del sistema para SQL Server en Linux.

Instalar SQL Server

Nota

RHEL 8 es compatible con SQL Server 2017 a partir de CU20. Los siguientes comandos para SQL Server 2017 apuntan al repositorio de RHEL 8. RHEL 8 no viene preinstalado con python2. SQL Server requiere RHEL 8. Antes de comenzar los pasos de instalación de SQL Server, ejecute el comando y compruebe que python2 está seleccionado como intérprete:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands: 
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command: 
sudo alternatives --config python

Para obtener más información, vea el siguiente blog sobre la instalación de python2 y su configuración como intérprete predeterminado: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Para configurar SQL Server en RHEL, ejecute los comandos siguientes en un terminal para instalar el paquete mssql-server:

  1. Descargue el archivo de configuración del repositorio de Red Hat de Microsoft SQL Server 2017:

    Para RHEL7:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
    

    Para RHEL8:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
    

    Sugerencia

    Si quiere instalar SQL Server 2019, debe registrar en su lugar el repositorio de SQL Server 2019. Use el comando siguiente para las instalaciones de SQL Server 2019:

    Para RHEL7:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    

    Para RHEL8:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    
  2. Ejecute los comandos siguientes para instalar SQL Server:

    sudo yum install -y mssql-server
    
  3. Cuando finalice la instalación del paquete, ejecute mssql-conf setup y siga las indicaciones para establecer la contraseña de administrador del sistema y elegir la edición.

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

    Sugerencia

    Las siguientes ediciones de SQL Server 2017 tienen licencia gratuita: Evaluation, Developer y Express.

    Nota

    Asegúrese de especificar una contraseña segura para la cuenta del administrador del sistema (longitud mínima de 8 caracteres, incluidas mayúsculas y minúsculas, dígitos en base 10 o símbolos no alfanuméricos).

  4. Cuando finalice la configuración, compruebe que el servicio se esté ejecutando:

    systemctl status mssql-server
    
  5. Para permitir las conexiones remotas, abra el puerto de SQL Server en el firewall en RHEL. El puerto de SQL Server predeterminado es TCP 1433. Si usa FirewallD para el firewall, puede usar los comandos siguientes:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

En este momento, SQL Server se ejecuta en el equipo con RHEL y está listo para usarse.

Instalar SQL Server

Nota

Los siguientes comandos para SQL Server 2019 apunta al repositorio de RHEL 8. RHEL 8 no viene preinstalado con python2. SQL Server requiere RHEL 8. Antes de comenzar los pasos de instalación de SQL Server, ejecute el comando y compruebe que python2 está seleccionado como intérprete:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands: 
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command: 
sudo alternatives --config python

Para obtener más información sobre estos pasos, vea el siguiente blog sobre cómo instalar python2 y cómo configurarlo como intérprete predeterminado: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Para configurar SQL Server en RHEL, ejecute los comandos siguientes en un terminal para instalar el paquete mssql-server:

  1. Descargue el archivo de configuración del repositorio de Red Hat de Microsoft SQL Server 2019:

    Para RHEL7:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    

    Para RHEL8:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    
  2. Ejecute los comandos siguientes para instalar SQL Server:

    sudo yum install -y mssql-server
    
  3. Cuando finalice la instalación del paquete, ejecute mssql-conf setup y siga las indicaciones para establecer la contraseña de administrador del sistema y elegir la edición.

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

    Nota

    Asegúrese de especificar una contraseña segura para la cuenta del administrador del sistema (longitud mínima de 8 caracteres, incluidas mayúsculas y minúsculas, dígitos en base 10 o símbolos no alfanuméricos).

  4. Cuando finalice la configuración, compruebe que el servicio se esté ejecutando:

    systemctl status mssql-server
    
  5. Para permitir las conexiones remotas, abra el puerto de SQL Server en el firewall en RHEL. El puerto de SQL Server predeterminado es TCP 1433. Si usa FirewallD para el firewall, puede usar los comandos siguientes:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

En este momento, SQL Server 2019 se ejecuta en el equipo con RHEL y está listo para usarse.

Instalar las herramientas de línea de comandos de SQL Server

Para crear una base de datos, necesita conectarse con una herramienta que pueda ejecutar instrucciones Transact-SQL en SQL Server. En los pasos siguientes, se instalan las herramientas de línea de comandos de SQL Server sqlcmd y bcp.

  1. Descargue el archivo de configuración del repositorio de Red Hat de Microsoft.

    Para RHEL7:

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    

    Para RHEL8:

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Si tiene instalada una versión anterior de mssql-tools, quite los paquetes unixODBC anteriores.

    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. Ejecute los comandos siguientes para instalar mssql-tools con el paquete de desarrollador de unixODBC. Para más información, consulte Instalación de Microsoft ODBC Driver for SQL Server (Linux).

    sudo yum install -y mssql-tools unixODBC-devel
    
  4. Por comodidad, agregue /opt/mssql-tools/bin/ a la variable de entorno PATH. De este modo, podrá ejecutar las herramientas sin especificar la ruta de acceso completa. Ejecute los comandos siguientes para modificar la variable PATH, tanto para las sesiones de inicio de sesión como para las sesiones interactivas o sin inicio de sesión:

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

Conexión local

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 (-S), el nombre de usuario (-U) y la contraseña (-P). En este tutorial se conecta de forma local, por lo que el nombre del servidor es localhost. El nombre de usuario es SA y la contraseña es la que proporcionó para la cuenta SA durante la configuración.

    sqlcmd -S localhost -U SA -P '<YourPassword>'
    

    Sugerencia

    Puede omitir la contraseña en la línea de comandos para que se le solicite escribirla.

    Sugerencia

    Si más adelante decide conectarse de forma remota, especifique el nombre de la máquina o la dirección IP del parámetro -S y asegúrese de que el puerto 1433 esté abierto en el firewall.

  2. Si se realiza correctamente, debe ver un símbolo de sistema de sqlcmd: 1>.

  3. Si recibe un error de conexión, intente primero diagnosticar el problema a partir del mensaje de error. Luego revise las recomendaciones para solucionar problemas de conexión.

Creación y consulta de datos

Las secciones siguientes le guían en el uso de sqlcmd para crear una base de datos, agregar datos y ejecutar una consulta simple.

Creación de una base de datos

En los pasos siguientes se crea una base de datos denominada TestDB.

  1. En el símbolo del sistema de sqlcmd, pegue el comando Transact-SQL siguiente para crear una base de datos de prueba:

    CREATE DATABASE TestDB
    
  2. En la línea siguiente, escriba una consulta para devolver el nombre de todas las bases de datos del servidor:

    SELECT Name from sys.Databases
    
  3. Los dos comandos anteriores no se ejecutaron de inmediato. Debe escribir GO en una línea nueva para ejecutar los comandos anteriores:

    GO
    

Sugerencia

Para más información sobre cómo escribir consultas e instrucciones Transact-SQL, vea Tutorial: Escribir instrucciones Transact-SQL.

Insertar datos

Luego cree una tabla, Inventory, e inserte dos filas nuevas.

  1. En el símbolo del sistema de sqlcmd, cambie el contexto a la nueva base de datos TestDB:

    USE TestDB
    
  2. Cree una tabla llamada Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Inserte datos en la nueva tabla:

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. Escriba GO para ejecutar los comandos anteriores:

    GO
    

Selección de datos

Ahora ejecute una consulta para devolver datos desde la tabla Inventory.

  1. En el símbolo del sistema sqlcmd, escriba una consulta que devuelva filas desde la tabla Inventory donde la cantidad sea mayor que 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Ejecute el comando:

    GO
    

Salida del símbolo del sistema de sqlcmd

Para finalizar la sesión de sqlcmd, escriba QUIT:

QUIT

Procedimientos recomendados de rendimiento

Después de instalar SQL Server en Linux, revise los procedimientos recomendados para configurar Linux y SQL Server con el fin de mejorar el rendimiento de los escenarios de producción. Para obtener más información, consulte Procedimientos recomendados e instrucciones de configuración de SQL Server en Linux.

Herramientas de datos multiplataforma

Además de sqlcmd, puede usar las siguientes herramientas multiplataforma para administrar SQL Server:

Herramienta Descripción
Azure Data Studio Una utilidad de administración de bases de datos GUI multiplataforma.
Visual Studio Code Un editor de código GUI multiplataforma que ejecuta instrucciones Transact-SQL con la extensión mssql.
PowerShell Core Una herramienta de configuración y automatización multiplataforma basada en cmdlets.
mssql-cli Una interfaz de línea de comandos multiplataforma para ejecutar comandos Transact-SQL.

Conexión desde Windows

Las herramientas de SQL Server en Windows se conectan a instancias de SQL Server en Linux del mismo modo en que se conectarían a cualquier instancia remota de SQL Server.

Si tiene una máquina Windows que se puede conectar a la máquina Linux, pruebe con los mismos pasos de este tema desde un símbolo del sistema Windows mediante la ejecución de sqlcmd. Simplemente compruebe que usa el nombre o la dirección IP de la máquina Linux de destino en lugar del host local y asegúrese de que el puerto TCP 1433 esté abierto. Si tiene problemas para conectarse desde Windows, consulte las recomendaciones para solucionar problemas de conexión.

Para las otras herramientas que se ejecutan en Windows pero se conectan a SQL Server en Linux, consulte:

Otros escenarios de implementación

Para otros escenarios de instalación, vea los siguientes recursos:

  • Actualización: Obtenga información sobre cómo actualizar una instalación existente de SQL Server en Linux
  • Uninstall. Desinstalación de SQL Server en Linux
  • Instalación desatendida: Obtenga información sobre cómo crear un script para la instalación sin pedir confirmación
  • Instalación sin conexión: Obtenga información sobre cómo descargar manualmente los paquetes de instalación sin conexión

Sugerencia

Para obtener respuesta a las preguntas más frecuentes, vea Preguntas más frecuentes sobre SQL Server en Linux.

Pasos siguientes