在 Linux 上安装 SQL Server 命令行工具 sqlcmd 和 bcp
适用于:SQL Server - Linux
通过以下步骤安装命令行工具、Microsoft ODBC 驱动程序及其依赖项。 mssql-tools 包包含:
- sqlcmd:命令行查询实用工具。
- bcp:批量导入-导出实用工具。
为你的平台安装工具:
本文介绍如何安装命令行工具。 如果正在寻找有关如何使用 sqlcmd 或 bcp 的示例,请参阅本文末尾的链接。
警告
sqlcmd 和 bcp 在适用于 x64 体系结构的 mssql-tools 中可用。 有一种适用于 arm64 和 x64 环境的替代工具,即 GitHub 上的 go-sqlcmd,该工具在 Linux、macOS 和 Windows 中处于预览阶段。
在 Linux 上安装工具
通过以下步骤在 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
在 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
后续步骤
有关如何使用 sqlcmd 连接到 SQL Server 并创建数据库的示例,请参阅以下快速入门之一:
有关如何使用 bcp 批量导入和导出数据的示例,请参阅将数据批量复制到 Linux 上的 SQL Server。
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅如何参与 SQL Server 文档编辑