Install sqlcmd and bcp the SQL Server command-line tools on Linux

The following steps install the command-line tools, Microsoft ODBC drivers, and their dependencies. The mssql-tools package contains:

  • sqlcmd: Command-line query utility.
  • bcp: Bulk import-export utility.

Install the tools for your platform:

Install tools on RHEL

Use the following steps to install the mssql-tools on Red Hat Enterprise Linux.

  1. Enter superuser mode.

    sudo su
    
  2. Download the Microsoft Red Hat repository configuration file.

    curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. Exit superuser mode.

    exit
    
  4. If you had a previous version of mssql-tools installed, remove any older unixODBC packages.

    sudo yum update
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  5. Run the following commands to install mssql-tools with the unixODBC developer package.

    sudo yum update
    sudo yum install mssql-tools unixODBC-devel
    
    Note

    To update to the latest version of mssql-tools run the following commands:

      sudo yum check-update
      sudo yum update mssql-tools
    
  6. Optional: Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash shell.

    To make sqlcmd/bcp accessible from the bash shell for login sessions, modify your PATH in the ~/.bash_profile file with the following command:

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

    To make sqlcmd/bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Install tools on Ubuntu

Use the following steps to install the mssql-tools on Ubuntu.

  1. Import the public repository GPG keys.

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. Register the Microsoft Ubuntu repository.

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. Update the sources list and run the installation command with the unixODBC developer package.

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

    To update to the latest version of mssql-tools run the following commands:

      sudo apt-get update 
      sudo apt-get install mssql-tools 
    
  4. Optional: Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash shell.

    To make sqlcmd/bcp accessible from the bash shell for login sessions, modify your PATH in the ~/.bash_profile file with the following command:

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

    To make sqlcmd/bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Install tools on SLES

Use the following steps to install the mssql-tools on SUSE Linux Enterprise Server.

  1. Add the Microsoft SQL Server repository to Zypper.

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo 
    sudo zypper --gpg-auto-import-keys refresh
    
  2. Install mssql-tools with the unixODBC developer package.

    sudo zypper install mssql-tools unixODBC-devel
    
    Note

    To update to the latest version of mssql-tools run the following commands:

      sudo zypper refresh
      sudo zypper update mssql-tools
    
  3. Optional: Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash shell.

    To make sqlcmd/bcp accessible from the bash shell for login sessions, modify your PATH in the ~/.bash_profile file with the following command:

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

    To make sqlcmd/bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Install tools on macOS

Sqlcmd and bcp are not available on macOS.

Use sql-cli from macOS. For more information, see sql-cli.

Docker

Starting with SQL Server vNext CTP 1.4, the SQL Server command-line tools are included in the Docker image. If you attach to the image with an interactive command-prompt, you can run the tools locally.

Manually install tools packages

If your Linux machine does not have access to the online repositories used in the previous sections, you can download the tools package directly. These packages are located in the Microsoft repository, https://packages.microsoft.com.

Tip

If you successfully installed the tools with apt-get, yum, or zypper, you do not need to download or manually install any of the packages below.

The following table provides the location for the latest tools packages. To install the RPM packages, use rpm -ivh packagename.rpm. To install the Debian packages, use dpkg -i packagename.deb.

Tools package Version Download
Red Hat RPM tools package 14.0.4.0-1 mssql-tools RPM package
SLES RPM tools package 14.0.4.0-1 mssql-tools RPM package
Ubuntu 16.04 Debian tools package 14.0.4.0-1 mssql-tools Debian package
Ubuntu 16.10 Debian tools package 14.0.4.0-1 mssql-tools Debian package

These packages depend on msodbcsql, which must be installed first. The msodbcsql pacakage also has a dependency on either unixODBC-devel (RPM) or unixodbc-dev (Debian). The location of the msodbcsql packages are listed in the following table.

msodbcsql package Version Download
Red Hat RPM msodbcsql package 13.1.4.0-1 msodbcsql RPM package
SLES RPM msodbcsql package 13.1.4.0-1 msodbcsql RPM package
Ubuntu 16.04 Debian msodbcsql package 13.1.4.0-1 msodbcsql Debian package
Ubuntu 16.10 Debian msodbcsql package 13.1.4.0-1 msodbcsql Debian package

In some cases, you might have to manually install the dependencies for the mssql-tools and msodbcsql packages. For Debian packages, you can inspect the dependencies with the following commands:

dpkg -I mssql-tools_14.0.4.0-1_amd64.deb | grep "Depends:"
dpkg -I msodbcsql_13.1.4.0-1_amd64.deb | grep "Depends:"

For RPM packages, you can inspect the dependencies with the following commands:

rpm -qpR mssql-tools-14.0.4.0-1.x86_64.rpm
rpm -qpR msodbcsql-13.1.4.0-1.x86_64.rpm

Next steps

After installation, connect to the SQL Server instance to create and manage databases. To get started, see Connect and query SQL Server on Linux.