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 usar sqlcmd o bcp, vea los vínculos al final de este artículo.

Advertencia

sqlcmd y bcp están disponibles en mssql-tools para la arquitectura x64. Una alternativa para los entornos arm64 y x64 es la versión preliminar en Linux, macOS y Windows, go-sqlcmd en GitHub.

Instalación de herramientas en Linux

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 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

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 va a crear un contenedor con las herramientas de la línea de comandos de SQL Server, se recomienda agregar ACCEPT_EULA=Y al comando de instalación para aceptar silenciosamente el CLUF y no interrumpir la creación de imágenes. 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-tools 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, 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-tools para su distribución de Linux. Para Red Hat 8.0, se encuentra en https://packages.microsoft.com/rhel/8/prod.

  2. Busque y copie también el paquete msodbcsql, que es una dependencia. El paquete msodbcsql también tiene una dependencia de unixODBC-devel. Para Red Hat, el paquete msodbcsql 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: Instale los paquetes mssql-toolds y msodbc. Si obtiene algún error de dependencia, ignórelo hasta el siguiente paso. Reemplace <version> por la versión correcta:

    sudo yum localinstall msodbcsql-<version>.rpm
    sudo yum localinstall mssql-tools-<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 msodbcsql-<version>.rpm
    rpm -qpR mssql-tools-<version>.rpm
    

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.

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.