在 Linux 上安裝 SQL Server 命令列工具 sqlcmd 和 bcp

適用範圍: 是SQL Server (所有支援的版本) - Linux

下列步驟會安裝命令列工具、Microsoft ODBC 驅動程式及兩者的相依性。 mssql-tools 套件包含:

  • sqlcmd:命令列查詢公用程式。
  • BCP:大量匯入/匯出公用程式。

安裝適用於您平台的工具:

本文描述如何安裝命令列工具。 如果您要尋找使用 sqlcmdbcp 的範例,請參閱本主題結尾的 連結

在 RHEL 8 上安裝工具

遵循下列步驟,在 Red Hat Enterprise Linux 上安裝 mssql-tools

  1. 進入超級使用者模式。

    sudo su
    
  2. 下載 Microsoft Red Hat 存放庫組態檔。

    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. 結束超級使用者模式。

    exit
    
  4. 如果您已安裝舊版的 mssql-tools,請移除所有舊版的 unixODBC 套件。

    sudo yum remove mssql-tools unixODBC-utf16-devel
    
  5. 執行下列命令,使用 unixODBC 開發人員套件安裝 mssql-tools

    sudo yum install mssql-tools unixODBC-devel
    

    注意

    若要更新為最新版本的 mssql-tools,請執行下列命令:

    sudo yum check-update
    sudo yum update mssql-tools
    
  6. 選擇性:在 Bash Shell 中將 /opt/mssql-tools/bin/ 新增至您的 PATH 環境變數。

    若要讓登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改您在 ~/.bash_profile 檔案中的 PATH

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

    若要讓互動式/非登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改 ~/.bashrc 檔案中的 PATH

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

在 Ubuntu 16.04 上安裝工具

使用下列步驟在 Ubuntu 上安裝 mssql-tools

注意

  • 從 SQL Server 2019 CU3 開始支援 Ubuntu 18.04。
  • 從 SQL Server 2019 CU10 開始支援 Ubuntu 20.04。
  • 如果您使用 Ubuntu 18.04 或 Ubuntu 20.04,請將下列步驟2中的存放庫路徑從變更 /ubuntu/16.04/ubuntu/18.04/ubuntu/20.04
  1. 匯入公開存放庫 GPG 金鑰。

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. 註冊 Microsoft Ubuntu 存放庫。

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 更新來源清單,並使用 unixODBC 開發人員套件執行安裝命令。

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

    注意

    若要更新為最新版本的 mssql-tools,請執行下列命令:

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 選擇性:在 Bash Shell 中將 /opt/mssql-tools/bin/ 新增至您的 PATH 環境變數。

    若要讓登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改您在 ~/.bash_profile 檔案中的 PATH

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

    若要讓互動式/非登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改 ~/.bashrc 檔案中的 PATH

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

在 SLES 12 上安裝工具

遵循下列步驟,在 SUSE Linux Enterprise Server 上安裝 mssql-tools

  1. 將 Microsoft SQL Server 存放庫新增至 Zypper。

    sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo 
    sudo zypper --gpg-auto-import-keys refresh
    
  2. 使用 unixODBC 開發人員套件安裝 mssql-tools

    sudo zypper install mssql-tools unixODBC-devel
    

    注意

    若要更新為最新版本的 mssql-tools,請執行下列命令:

    sudo zypper refresh
    sudo zypper update mssql-tools
    
  3. 選擇性:在 Bash Shell 中將 /opt/mssql-tools/bin/ 新增至您的 PATH 環境變數。

    若要讓登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改您在 ~/.bash_profile 檔案中的 PATH

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

    若要讓互動式/非登入工作階段的 Bash Shell 可存取 sqlcmd/bcp,請使用下列命令修改 ~/.bashrc 檔案中的 PATH

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

在 macOS 上安裝工具

macOS 現在提供 sqlcmdbcp 的預覽。 如需詳細資訊,請參閱公告

安裝 Homebrew (若尚未安裝):

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

若要安裝適用於 Mac El Capitan 和 Sierra 的工具,請使用下列命令:

# 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

如果您在 Docker 容器中執行 SQL Server,則 SQL Server 命令列工具已包含在 SQL Server Linux 容器映射中。 如果您使用互動式 Bash Shell 來附加至正在執行的容器,則您可以在本機執行這些工具。

離線安裝

如果您的 Linux 電腦無法存取前幾節中使用的線上儲存機制,您可以直接下載封裝檔案。 這些套件位於 Microsoft 存放庫 https://packages.microsoft.com 中。

提示

如果已在前幾節的步驟中順利安裝,則不需要下載或以手動方式安裝下列封裝。 這只適用於離線案例。

  1. 首先,找出並複製適用於您 Linux 發行版本的 mssql-tools 套件:

    Linux 發行版本 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. 此外,也請找出並複製 msodbcsql 套件,這是相依性。 msodbcsql 套件也相依於 unixODBC-devel (Red Hat 和 SLES) 或 unixODBC dev (Ubuntu)。 下表列出 msodbcsql 套件的位置:

    Linux 發行版本 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. 將已下載套件移至您的 Linux 電腦。 如果您使用不同電腦來下載套件,將套件移至 Linux 電腦的其中一種方式是使用 scp 命令。

  4. 安裝套件:安裝 mssql-toolsmsodbc 套件。 如果您遇到任何相依性錯誤,請忽略,直到下一個步驟。

    平台 套件安裝命令
    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. 解決遺漏的相依性:此時,您可能會遺漏某些相依性。 如果沒有,則您可以略過此步驟。 在某些情況下。您必須手動找出並安裝這些相依性。

    針對 RPM 套件,您可以使用下列命令來檢查所需的相依性:

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

    針對 Debian 套件,如果您可以存取包含這些相依性的已核准存放庫,最簡單的解決方案就是使用 apt-get 命令:

    sudo apt-get -f install
    

    注意

    此命令也會完成安裝 SQL Server 套件。

    如果這不適用於您的 Debian 套件,您可以使用下列命令檢查所需的相依性:

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

後續步驟

如需使用 sqlcmd 連線至 SQL Server 並建立資料庫的範例,請參閱下列其中一個快速入門:

如需使用 bcp 大量匯入和匯出資料的範例,請參閱 將資料大量複製到 Linux 上的 SQL Server