适用对象:SQL Server(仅限 Linux)
Azure SQL 数据库
Azure SQL 数据仓库
并行数据仓库
本文提供有关在 Linux 上安装、更新和卸载 SQL Server 2017 和 SQL Server 2019 预览版的指导。
有关常见问题的解答,请参阅 Linux 上的 SQL Server 常见问题解答。
支持的平台
SQL Server 2017 在 Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES) 和 Ubuntu 上受支持。 此外,它也可作为 Docker 映像提供,可在 Linux 上的 Docker 引擎或用于 Windows/Mac 的 Docker 上运行。
平台 | 支持的版本 | 获取 |
---|---|---|
Red Hat Enterprise Linux | 版本 7.3、7.4、7.5、7.6 | 获取 RHEL 7.6 |
SUSE Linux Enterprise Server | v12 SP2 | 获取 SLES v12 SP2 |
Ubuntu | 16.04 | 获取 Ubuntu 16.04 |
Docker 引擎 | 1.8+ | 获取 Docker |
Microsoft 还支持使用 OpenShift 和 Kubernetes 部署和管理 SQL Server 容器。
备注
SQL Server 在 Linux 上针对之前列出的发行版进行了测试且受支持。 如果选择在不受支持的操作系统上安装 SQL Server,请查看 Microsoft SQL Server 的技术支持策略的“支持策略”部分,以了解支持含义 。
系统要求
SQL Server 2017 对 Linux 具有以下系统要求:
内存 | 2 GB |
“文件系统” | XFS 或 EXT4(其他文件系统均不受支持,如 BTRFS) 。 |
磁盘空间 | 6 GB |
处理器速度 | 2 GHz |
处理器核心数 | 2 个核心 |
处理器类型 | 仅兼容 x64 |
如果在生产中使用网络文件系统 (NFS) 远程共享,请注意以下支持要求 :
- 使用 NFS 版本 4.2 或更高版本 。 较早版本的 NFS 不支持现代文件系统常用的必需功能,例如 fallocate 和稀疏文件创建。
- 仅在 NFS 装载上查找 /var/opt/mssql 目录 。 不支持其他文件,例如 SQL Server 系统二进制文件。
- 安装远程共享时,请确保 NFS 客户端使用“nolock”选项。
配置源存储库
安装或升级 SQL Server 时,从配置的 Microsoft 存储库中获取最新版本的 SQL Server。 快速入门使用 SQL Server 2017 累积更新 (CU) 存储库 。 但你可以改为配置 GDR 存储库或预览版 (vNext) 存储库 。 有关存储库以及如何配置存储库的详细信息,请参阅为 Linux 上的 SQL Server 配置存储库。
安装 SQL Server 2017
可以从命令行安装 Linux 上的 SQL Server 2017。 有关分步说明,请参阅以下快速入门之一:
- 在 Red Hat Enterprise Linux 上安装
- 在 SUSE Linux Enterprise Server 上安装
- 在 Ubuntu 上安装
- 在 Docker 上运行
- 在 Azure 中预配 SQL VM
安装后,请考虑进行其他配置更改以实现最佳性能。 有关详细信息,请参阅 Linux 上的 SQL Server 的性能最佳做法和配置指南。
安装 SQL Server 2019 预览版
可使用上一节中相同的快速入门链接安装 Linux 上的 SQL Server 2019 预览版。 但必须注册“预览版 (vNext)”存储库而不是“CU”存储库 。 快速入门提供了有关如何执行此操作的说明。
更新 SQL Server
若要将“mssql-server”包更新到最新版本,请根据你的平台使用以下命令之一 :
平台 | 包更新命令 |
---|---|
RHEL | sudo yum update mssql-server |
SLES | sudo zypper update mssql-server |
Ubuntu | sudo apt-get update sudo apt-get install mssql-server |
这些命令将下载最新包,并替换 /opt/mssql/
下的二进制文件。 此操作不会影响到用户生成的数据库和系统数据库。
提示
如果首先更改已配置的存储库,则可以使用“update”命令升级 SQL Server 版本 。 只有当两个存储库之间支持升级路径时,才会出现这种情况。
回滚 SQL Server
若要将 SQL Server 回滚或降级到以前的版本,请使用以下步骤:
-
标识要降级到的 SQL Server 包的版本号。 有关包版本号的列表,请参阅发行说明。
-
降级到 SQL Server 的早期版本。 在以下命令中,将
<version_number>
替换为步骤 1 中标识的 SQL Server 版本号。平台 包更新命令 RHEL sudo yum downgrade mssql-server-<version_number>.x86_64
SLES sudo zypper install --oldpackage mssql-server=<version_number>
Ubuntu sudo apt-get install mssql-server=<version_number>
sudo systemctl start mssql-server
备注
只支持降级到相同主版本(如 SQL Server 2017)内的版本。
检查已安装的 SQL Server 版本
若要验证 Linux 上的 SQL Server 的当前版本和版本,请使用以下过程:
-
如果尚未安装,请安装 SQL Server 命令行工具。
-
使用“sqlcmd”运行显示 SQL Server 版本的 Transact-SQL 命令 。
bash复制sqlcmd -S localhost -U SA -Q 'select @@VERSION'
卸载 SQL Server
若要删除 Linux 上的“mssql-server”包,请根据你的平台使用以下命令之一 :
平台 | 包删除命令 |
---|---|
RHEL | sudo yum remove mssql-server |
SLES | sudo zypper remove mssql-server |
Ubuntu | sudo apt-get remove mssql-server |
删除包不会删除生成的数据库文件。 如果希望删除数据库文件,请使用以下命令:
sudo rm -rf /var/opt/mssql/
无人参与安装
可以通过以下方式执行无人参与安装:
以下示例使用“MSSQL_PID”环境变量配置 SQL Server 的开发人员版本 。 它还接受 EULA (ACCEPT_EULA) 并设置 SA 用户密码 (MSSQL_SA_PASSWORD) 。 该 -n
参数执行无提示安装,安装期间从环境变量中提取配置值。
sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' /opt/mssql/bin/mssql-conf -n setup
还可以创建执行其他操作的脚本。 例如,可安装其他 SQL Server 包。
有关更详细的示例脚本,请参阅以下示例:
脱机安装
如果 Linux 计算机无法访问快速入门中使用的联机存储库,则可以直接下载包文件。 这些包位于 Microsoft 存储库中,网址为 https://packages.microsoft.com。
提示
如果通过快速入门中的步骤成功安装了包,则无需下载或者手动安装 SQL Server 包。 这部分仅适用于脱机情况。
-
下载适用于平台的数据库引擎包。 在发行说明的包详细信息部分找到包下载链接。
-
将下载的包移动到 Linux 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机 。
-
安装数据库引擎包。 根据你的平台使用以下命令之一。 将此示例中的包文件名替换为下载的确切名称。
平台 包安装命令 RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb
备注
还可使用
rpm -ivh
命令安装 RPM 包(RHEL 和 SLES),但如果可以从批准的存储库中获得,则上表中的命令会自动安装依赖项。 -
解决缺少的依赖项:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在 Ubuntu 上,如果能够访问包含这些依赖项的已批准的存储库,最简单的解决办法是使用
apt-get -f install
命令。 此命令还会完成 SQL Server 的安装。 若要手动检查依赖项,请使用以下命令:平台 列出依赖项命令 RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb
解决缺少的依赖项后,尝试再次安装 mssql-server 包。
-
完成 SQL Server 安装。 使用“mssql-conf”完成 SQL Server 安装 :
bash复制sudo /opt/mssql/bin/mssql-conf setup
许可和定价
对于 Linux 和 Windows,SQL Server 获得的许可都相同。 有关 SQL Server 许可和定价的详细信息,请参阅如何授予 SQL Server 许可。