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

適用於:SQL Server - Linux

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

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

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

本文描述如何安裝命令列工具。 如果您要尋找如何使用 sqlcmdbcp 的範例,則請參閱本文結尾的相關內容

重要

適用於 x64arm64 架構的 mssql-tools18 中提供 sqlcmdbcp。 如需跨 Linux、macOS 和 Windows 的新式替代方案,請參閱 go-sqlcmd 公用程式

在 Linux 上安裝工具

這些指示適用於安裝 Microsoft ODBC 18 套件。 如需之前版本的相關資訊,請參閱安裝 Microsoft ODBC driver for SQL Server (Linux)

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

  1. 下載 Microsoft Red Hat 存放庫組態檔。

    • 針對 Red Hat 9,請使用下列命令:

      curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • 針對 Red Hat 8,請使用下列命令:

      curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • 針對 Red Hat 7,請使用下列命令:

      curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
  2. 如果您已安裝舊版的 mssql-tools,請移除所有舊版的 unixODBC 套件。

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

    sudo yum install -y mssql-tools18 unixODBC-devel
    

    注意

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

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

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

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

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

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

在 macOS 上安裝工具

安裝 Homebrew (若尚未安裝):

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

若要安裝適用於 macOS El Capitan 和更新版本的工具,請使用下列命令:

# 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

在 Docker 上安裝工具

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

如果您要使用 SQL Server 命令列工具來建立容器,則應當將 ACCEPT_EULA=Y 新增至安裝命令,以無訊息方式接受 EULA,而不中斷映像建立。 在 Ubuntu 可映像上安裝時,最後一個命令的範例為:

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

離線安裝

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

提示

如果您已使用前幾節的步驟順利安裝,則不需要下載或手動安裝下列套件。 這只適用於離線案例。

  1. 首先,找出並複製適用於您 Linux 發行版本的 mssql-tools18 套件。 針對 Red Hat 8.0,這位於 https://packages.microsoft.com/rhel/8/prod

  2. 此外,也請找出並複製 msodbcsql18 套件,這是相依性。 msodbcsql18 套件也相依於 unixODBC-devel。 針對 Red Hat,msodbcsql18 套件位於 https://packages.microsoft.com/rhel/8/prod

  3. 將已下載套件移至您的 Linux 電腦。 如果您使用不同電腦來下載套件,將套件移至 Linux 電腦的其中一種方式是使用 scp 命令。

  4. 安裝套件:安裝 mssql-tools18msodbc18 套件。 如果您遇到任何相依性錯誤,請忽略,直到下一個步驟。 將 <version> 取代為正確的版本:

    sudo yum localinstall msodbcsql18-<version>.rpm
    sudo yum localinstall mssql-tools18-<version>.rpm
    
  5. 解決遺漏的相依性:此時,您可能會遺漏某些相依性。 如果沒有,則您可以略過此步驟。 在某些情況下。您必須手動找出並安裝這些相依性。

    您可以使用下列命令來檢查所需的相依性。 將 <version> 取代為正確的版本:

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

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

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

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件