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

Se aplica a: síSQL Server (todas las versiones admitidas) : 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 usar sqlcmd o bcp, vea los vínculos al final de este tema.

Instalación de herramientas en RHEL 8

Use los pasos siguientes para instalar mssql-tools en Red Hat Enterprise Linux.

  1. Acceda al modo de superusuario.

    sudo su
    
  2. Descargue el archivo de configuración del repositorio de Red Hat de Microsoft.

    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. Salga del modo de superusuario.

    exit
    
  4. Si tiene instalada una versión anterior de mssql-tools, quite los paquetes unixODBC anteriores.

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

    sudo yum install mssql-tools unixODBC-devel
    

    Nota

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

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

    Para que sqlcmd/bcp sea accesible 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-tools/bin"' >> ~/.bash_profile
    

    Para que sqlcmd/bcp sea accesible desde el shell de Bash para sesiones interactivas o que no sean de inicio de sesión, modifique la variable PATH en el archivo ~/.bashrc con el comando siguiente:

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

Instalación de herramientas en Ubuntu 16.04

Siga estos pasos para instalar mssql-tools en Ubuntu.

Nota

  • Ubuntu 18.04 se admite a partir de SQL Server 2019 CU3.
  • Ubuntu 20.04 se admite a partir de SQL Server 2019 CU10.
  • Si usa Ubuntu 18.04 o Ubuntu 20.04, cambie la ruta de acceso del repositorio a continuación, en el paso 2, de /ubuntu/16.04 a /ubuntu/18.04 o /ubuntu/20.04.
  1. Importe las claves de GPG del repositorio público.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Registre el repositorio de Ubuntu de Microsoft.

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. Actualice la lista de orígenes y ejecute el comando de instalación con el paquete para desarrolladores de unixODBC.

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

    Nota

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

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. Opcional: agregue /opt/mssql-tools/bin/ a la variable de entorno PATH en un shell de Bash.

    Para que sqlcmd/bcp sea accesible 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-tools/bin"' >> ~/.bash_profile
    

    Para que sqlcmd/bcp sea accesible desde el shell de Bash para sesiones interactivas o que no sean de inicio de sesión, modifique la variable PATH en el archivo ~/.bashrc con el comando siguiente:

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

Instalación de herramientas en SLES 12

Use los pasos siguientes para instalar mssql-tools en SUSE Linux Enterprise Server.

  1. Agregue el repositorio de Microsoft SQL Server en Zypper.

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo 
    sudo zypper --gpg-auto-import-keys refresh
    
  2. Instale mssql-tools con el paquete de desarrollador de unixODBC.

    sudo zypper install mssql-tools unixODBC-devel
    

    Nota

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

    sudo zypper refresh
    sudo zypper update mssql-tools
    
  3. Opcional: agregue /opt/mssql-tools/bin/ a la variable de entorno PATH en un shell de Bash.

    Para que sqlcmd/bcp sea accesible 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-tools/bin"' >> ~/.bash_profile
    

    Para que sqlcmd/bcp sea accesible desde el shell de Bash para sesiones interactivas o que no sean de inicio de sesión, modifique la variable PATH en el archivo ~/.bashrc con el comando siguiente:

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

Instalación de herramientas en macOS

Ahora hay disponible una versión preliminar de sqlcmd y bcp en MacOS. Para obtener más información, consulte el anuncio.

Instale Homebrew si aún no lo tiene:

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Para instalar las herramientas para Mac El Capitan y Sierra, use los comandos siguientes:

# 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-tools
#for silent install: 
#HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=y brew install mssql-tools

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.

Instalación sin conexión

Si su equipo 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, 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 paquetes siguientes. Esto es solo para el escenario sin conexión.

  1. En primer lugar, busque y copie el paquete mssql-tools para su distribución de Linux:

    Distribución de Linux Ubicación del paquete mssql-tools
    Red Hat https://packages.microsoft.com/rhel/7.3/prod
    SLES https://packages.microsoft.com/sles/12/prod
    Ubuntu 16.04 https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/mssql-tools
  2. Busque y copie también el paquete msodbcsql, que es una dependencia. El paquete msodbcsql también depende de unixODBC-devel (Red Hat y SLES) o unixodbc-dev (Ubuntu). La ubicación de los paquetes msodbcsql se muestra en la tabla siguiente:

    Distribución de Linux Ubicación de paquetes ODBC
    Red Hat https://packages.microsoft.com/rhel/8/prod
    SLES https://packages.microsoft.com/sles/12/prod
    Ubuntu 16.04 msodbcsql
    unixodbc-dev
  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: Instale los paquetes mssql-toolds y msodbc. Si obtiene algún error de dependencia, ignórelo hasta el siguiente paso.

    Plataforma Comandos de instalación de paquetes
    Red Hat sudo yum localinstall msodbcsql-<version>.rpm
    sudo yum localinstall mssql-tools-<version>.rpm
    SLES sudo zypper install msodbcsql-<version>.rpm
    sudo zypper install mssql-tools-<version>.rpm
    Ubuntu sudo dpkg -i msodbcsql_<version>.deb
    sudo dpkg -i mssql-tools_<version>.deb
  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.

    En el caso de paquetes RPM, puede inspeccionar las dependencias necesarias con los siguientes comandos:

    rpm -qpR msodbcsql-<version>.rpm
    rpm -qpR mssql-tools-<version>.rpm
    

    En el caso de paquetes de Debian, si tiene acceso a los repositorios aprobados que contienen dichas dependencias, la solución más sencilla es usar el comando apt-get:

    sudo apt-get -f install
    

    Nota

    Este comando completa también la instalación de los paquetes de SQL Server.

    Si esto no funciona con su paquete de Debian, puede inspeccionar las dependencias necesarias con los siguientes comandos:

    dpkg -I msodbcsql_<version>_amd64.deb | grep "Depends:"
    dpkg -I mssql-tools_<version>_amd64.deb | grep "Depends:"
    

Pasos siguientes

Para obtener un ejemplo de cómo usar sqlcmd para conectarse a SQL Server y crear una base de datos, consulte una de las siguientes guías de inicio rápido:

Para obtener un ejemplo de cómo usar bcp para importar y exportar datos de forma masiva, consulte Copia masiva de datos a SQL Server en Linux.