Instalación de las herramientas de línea de comandos sqlcmd y bcp de SQL Server en Linux

Se aplica a: SQL Server - Linux

En los pasos siguientes se instalan las herramientas de línea de comandos, los controladores ODBC de Microsoft y sus dependencias. El paquete mssql-tools contiene:

  • sqlcmd: utilidad de consulta de línea de comandos.
  • bcp: utilidad de importación y exportación masiva.

Instale las herramientas para su plataforma:

En este artículo se explica cómo instalar las herramientas línea de comandos. Si busca ejemplos de cómo utilizar sqlcmd o bcp, consulte Contenido relacionado al final de este artículo.

Importante

sqlcmd y bcp están disponibles en mssql-tools18 para x64 y arm64 arquitecturas. Para una alternativa moderna en Linux, macOS y Windows, véase go-sqlcmd utility.

Instalación de herramientas en Linux

Estas instrucciones son para instalar los paquetes ODBC 18 de Microsoft. Para versiones anteriores, consulte Instalar el controlador ODBC de Microsoft para SQL Server (Linux).

Siga estos pasos para instalar mssql-tools18 en Red Hat Enterprise Linux.

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

    • Para Red Hat 9, usa el siguiente comando:

      curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • Para Red Hat 8, use el siguiente comando:

      curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • Para Red Hat 7, use el siguiente comando:

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

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
    
  3. Ejecute los comandos siguientes para instalar mssql-tools18 con el paquete de desarrollador de unixODBC.

    sudo yum install -y mssql-tools18 unixODBC-devel
    

    Para actualizar a la versión más reciente de mssql-tools, ejecute los siguientes comandos:

    sudo yum check-update
    sudo yum update mssql-tools18
    
  4. Opcional: agregue /opt/mssql-tools18/bin/ a la variable de entorno PATH en un shell de Bash.

    Para que sqlcmd y bcp sean accesibles desde el shell de Bash para inicios de sesión, modifique la variable PATH en el archivo ~/.bash_profile con el comando siguiente:

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

    Para que sqlcmd y bcp sean accesibles desde el intérprete de comandos bash para sesiones interactivas/no de inicio de sesión, modifica el PATH en el archivo ~/.bashrc con el siguiente comando:

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

Instalación de herramientas en macOS

Instale Homebrew si aún no lo tiene:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Para instalar las herramientas para macOS El Capitan y versiones posteriores, utilice los siguientes comandos:

# brew untap microsoft/mssql-preview if you installed the preview version
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install mssql-tools18

Instalación de herramientas en Docker

Si ejecuta SQL Server en un contenedor de Docker, las herramientas de línea de comandos de SQL Server ya están incluidas en la imagen de contenedor de SQL Server para Linux. Si adjunta un contenedor en ejecución con un shell de Bash interactivo, puede ejecutar las herramientas de forma local.

Si está creando un contenedor con las herramientas de línea de comandos de SQL Server, debe añadir ACCEPT_EULA=Y al comando de instalación para aceptar silenciosamente el CLUF y no interrumpir la creación de la imagen. Un comando final de ejemplo como parte de la instalación en una imagen basada en Ubuntu es el siguiente:

sudo ACCEPT_EULA=Y apt-get install mssql-tools18 unixodbc-dev

Instalación sin conexión

Si su máquina Linux no tiene acceso a los repositorios en línea que se usan en las secciones anteriores, puede descargar los archivos de paquete directamente. Estos paquetes se encuentran en el repositorio de Microsoft en https://packages.microsoft.com.

Sugerencia

Si los ha instalado correctamente mediante los pasos descritos en las secciones anteriores, no tiene que descargar o instalar manualmente los siguientes paquetes. Esto es solo para el escenario sin conexión.

  1. En primer lugar, busque y copie el paquete mssql-tools18 de su distribución de Linux. Para Red Hat 8.0, este paquete se encuentra en https://packages.microsoft.com/rhel/8/prod.

  2. También busque y copie el paquete msodbcsql18, que es una dependencia. El paquete msodbcsql18 también depende de unixODBC-devel. Para Red Hat, el paquete msodbcsql18 se encuentra en https://packages.microsoft.com/rhel/8/prod.

  3. Mueva los paquetes descargados a la máquina Linux. Si ha usado otro equipo para descargar los paquetes, una manera de trasladarlos al equipo Linux es con el comando scp.

  4. Instale los paquetes y: Instale los paquetes mssql-tools18 y msodbc18. Si obtiene algún error de dependencia, ignórelo hasta el siguiente paso. Reemplace <version> por la versión correcta:

    sudo yum localinstall msodbcsql18-<version>.rpm
    sudo yum localinstall mssql-tools18-<version>.rpm
    
  5. Resuelva las dependencias que faltan: Es posible que falten dependencias en este punto. Si no es así, puede omitir este paso. En algunos casos, debe localizar e instalar manualmente estas dependencias.

    Puede inspeccionar las dependencias necesarias con los siguientes comandos. Reemplace <version> por la versión correcta:

    rpm -qpR msodbcsql18-<version>.rpm
    rpm -qpR mssql-tools18-<version>.rpm
    

Contribuya a la documentación de SQL

¿Sabía que puede editar el contenido de SQL usted mismo? Si lo hace, no solo contribuirá a mejorar la documentación, sino que también se le reconocerá como colaborador de la página.

Para más información, vea Cómo colaborar en la documentación de SQL Server.