适用于:
SQL Server - Linux
通过以下步骤安装命令行工具、Microsoft ODBC 驱动程序及其依赖项。 mssql-tools 包包含:
- sqlcmd:命令行查询实用工具。
- bcp:批量导入-导出实用工具。
为你的平台安装工具:
本文介绍如何安装命令行工具。 如果正在寻找有关如何使用 sqlcmd 或 bcp 的示例,请参阅本文末尾的链接。
警告
sqlcmd 和 bcp 在适用于 x64 体系结构的 mssql-tools 中可用。 有一种适用于 arm64 和 x64 环境的替代工具,即 GitHub 上的 go-sqlcmd,该工具在 Linux、macOS 和 Windows 中处于预览阶段。
通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools。
进入超级用户模式。
sudo su
下载 Microsoft Red Hat 存储库配置文件。
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
退出超级用户模式。
exit
如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。
sudo yum remove mssql-tools unixODBC-utf16-devel
运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools。
sudo yum install mssql-tools unixODBC-devel
注意
若要将 mssql-tools 更新至最新版本,请运行以下命令:
sudo yum check-update
sudo yum update mssql-tools
可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools/bin/
。
要使 sqlcmd/bcp 能从登陆会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
要使 sqlcmd/bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
通过以下步骤在 SUSE Linux Enterprise Server 上安装 mssql-tools。
将 Microsoft SQL Server 存储库添加到 Zypper。
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo
sudo zypper --gpg-auto-import-keys refresh
使用 unixODBC 开发人员包安装 mssql-tools。
sudo zypper install mssql-tools unixODBC-devel
注意
若要将 mssql-tools 更新至最新版本,请运行以下命令:
sudo zypper refresh
sudo zypper update mssql-tools
可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools/bin/
。
要使 sqlcmd/bcp 能从登陆会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
要使 sqlcmd/bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
通过以下步骤在 Ubuntu 上安装 mssql-tools。
注意
- 从 SQL Server 2019 CU3 开始,支持 Ubuntu 18.04。
- 自 SQL Server 2019 CU10 起,开始支持 Ubuntu 20.04。
- 如果你使用的是 Ubuntu 16.04 或 Ubuntu 18.04,请将下面步骤 2 中的存储库路径从
/ubuntu/20.04
更改为 /ubuntu/16.04
或 /ubuntu/18.04
。
导入公共存储库 GPG 密钥。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
注册 Microsoft Ubuntu 存储库。
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
更新源列表,并使用 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
可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools/bin/
。
要使 sqlcmd/bcp 能从登陆会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
要使 sqlcmd/bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH :
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
在 macOS 上安装工具
macOS 上目前提供 sqlcmd 和 bcp 的预览版。 有关详细信息,请参阅公告。
如果尚未安装 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 附加到正在运行的容器,则可以在本地运行这些工具。
如果使用 SQL Server 命令行工具创建容器,建议在安装命令中添加 ACCEPT_EULA=Y
,以无提示方式接受 EULA 并且不中断映像创建。 在基于 Ubuntu 的映像上安装的过程中,最后一个命令示例是:
sudo ACCEPT_EULA=Y apt-get install mssql-tools unixodbc-dev
脱机安装
如果 Linux 计算机不能访问之前部分中使用的在线存储库,则可以直接下载包文件。 这些包位于 Microsoft 存储库中,网址为 https://packages.microsoft.com。
提示
如果通过之前部分中的步骤成功安装了包,则无需下载或者手动安装以下包。 这仅适用于脱机的情况。
首先,找到并复制适用于你的 Linux 发行版的 mssql-tools 包。 对于 Red Hat 8.0,它位于 https://packages.microsoft.com/rhel/8/prod。
此外,找到并复制 msodbcsql 包,它是一个依赖项。 msodbcsql 包在 unixODBC-devel 上还有一个依赖项。 对于 Red Hat,msodbcsql 包位于 https://packages.microsoft.com/rhel/8/prod。
将下载的包移至 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。
安装包:安装 mssql-tools 和 msodbc 包。 如果遇到任何依赖项错误,请忽略,直到出现下一步操作。 将 <version>
替换为正确的版本:
sudo yum localinstall msodbcsql-<version>.rpm
sudo yum localinstall mssql-tools-<version>.rpm
解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在某些情况下,必须手动查找并安装这些依赖项。
可通过以下命令检查必需的依赖项。 将 <version>
替换为正确的版本:
rpm -qpR msodbcsql-<version>.rpm
rpm -qpR mssql-tools-<version>.rpm
首先,找到并复制适用于你的 Linux 发行版的 mssql-tools 包。 对于 SLES 12,它位于 https://packages.microsoft.com/sles/12/prod。
此外,找到并复制 msodbcsql 包,它是一个依赖项。 msodbcsql 包在 unixODBC-devel 上还有一个依赖项。 对于 SLES,msodbcsql 包位于 https://packages.microsoft.com/sles/12/prod。
将下载的包移至 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。
安装包:安装 mssql-tools 和 msodbc 包。 如果遇到任何依赖项错误,请忽略,直到出现下一步操作。 将 <version>
替换为正确的版本:
sudo zypper install msodbcsql-<version>.rpm
sudo zypper install mssql-tools-<version>.rpm
解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在某些情况下,必须手动查找并安装这些依赖项。
可通过以下命令检查必需的依赖项。 将 <version>
替换为正确的版本:
rpm -qpR msodbcsql-<version>.rpm
rpm -qpR mssql-tools-<version>.rpm
首先,找到并复制适用于你的 Linux 发行版的 mssql-tools 包。 对于 Ubuntu 20.04,它位于 https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/mssql-tools |
此外,找到并复制 msodbcsql 包,它是一个依赖项。 msodbcsql 包在 unixodbc-dev 上还有一个依赖项。 对于 Ubuntu,msodbcsql 包位于msodbcsql 和 unixodbc-dev。
将下载的包移至 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。
安装包:安装 mssql-tools 和 msodbc 包。 如果遇到任何依赖项错误,请忽略,直到出现下一步操作。 将 <version>
替换为正确的版本:
sudo dpkg -i msodbcsql_<version>.deb
sudo dpkg -i mssql-tools_<version>.deb
解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在某些情况下,必须手动查找并安装这些依赖项。
如果能够访问包含这些依赖项的已批准的存储库,最简单的解决办法是使用 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。