在Linux 上安装 SQL Server
官网: https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-2017
离线下载包: https://packages.microsoft.com
本文提供了有关安装、 更新和卸载 SQL Server 2017 和 Linux 上的 SQL Server 2019 预览版指南。
有关常见问题的解答,请参阅 SQL Server Linux 常见问题 。
支持的平台
Red Hat Enterprise Linux (RHEL)、 SUSE Linux Enterprise Server (SLES) 和 Ubuntu 上支持 SQL Server 2017。 它还支持作为 Docker 映像,可以在 Docker 的 Windows/mac。 或在 Linux 上的 Docker 引擎运行
平台 | 受支持的版本 | 获取 |
---|---|---|
Red Hat Enterprise Linux | 7.3, 7.4, 7.5, 7.6 | Get 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 和稀疏文件创建,普遍适用于现代文件系统。
- 仅定位 /var/opt/mssql 上 NFS 装入的目录。 不支持其他文件,如 SQL Server 系统二进制文件。
- 请确保装载的远程共享时,NFS 客户端,使用 nolock 选项。
配置源存储库
当您安装或升级 SQL Server 时,可从你配置的 Microsoft 存储库获取最新版本的 SQL Server。 快速入门教程使用 SQL Server 2017 累积更新 CU 存储库。 但您可以改为配置 GDR 存储库或 预览版 (vNext) 存储库。 存储库以及如何配置它们的详细信息,请参阅 Linux 上的 SQL Server 配置存储库 。
重要
如果您以前安装的 CTP 或 SQL Server 2017 的 RC 版本,必须删除预览存储库并注册一个常规正式版 (GA)。 有关详细信息,请参阅 Linux 上的 SQL Server 配置存储库 。
安装 SQL Server 2017
从命令行,可以在 Linux 上安装 SQL Server 2017。 有关分步说明,请参阅以下快速入门:
- 在 Red Hat Enterprise Linux 上安装
- 在 SUSE Linux Enterprise Server 上安装
- 在 Ubuntu 上安装
- 在 Docker 上运行
- 在 Azure 中预配 SQL VM
快速入门:安装 SQL Server 和 Red Hat 上创建数据库
适用于: SQL Server (仅限 Linux)
Azure SQL 数据库
Azure SQL 数据仓库
并行数据仓库
在此快速入门中,您安装 SQL Server 2017 或 SQL Server 2019 Red Hat Enterprise Linux (RHEL) 上。 然后使用连接 sqlcmd 创建第一个数据库和运行查询。
提示
本教程需要用户输入和 Internet 连接。 如果您对 无人参与 或 脱机 安装感兴趣,请参阅 Linux 上的 SQL Server 的安装指南 。
先决条件
您必须具有的 RHEL 7.3、 7.4、 7.5 或 7.6 计算机 至少 2 GB 的内存。
若要在自己的计算机上安装 Red Hat Enterprise Linux,请访问 https://access.redhat.com/products/red-hat-enterprise-linux/evaluation 。 也可在 Azure 中创建 RHEL 虚拟机。 请参阅 使用 Azure CLI 创建和管理 Linux VM ,并在对 az vm create
的调用中使用 --image RHEL
。
如果以前已安装的 CTP 或 SQL Server 2017 的 RC 版本,必须执行以下步骤之前先删除旧存储库。 有关详细信息,请参阅 配置 Linux 存储库以用于 SQL Server 2017 和 2019年 。
其他系统要求,请参阅 Linux 上的 SQL Server 的系统要求 。
安装 SQL Server
若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令,以便安装 mssql server 包:
-
下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:
bash 复制sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
提示
如果你想要试用 SQL Server 2019,则必须改为注册 预览版 (2019) 存储库。 对于 SQL Server 2019 安装中使用以下命令:
bash 复制sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
-
运行以下命令,安装 SQL Server:
bash 复制sudo yum install -y mssql-server
-
程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。
bash 复制sudo /opt/mssql/bin/mssql-conf setup
提示
以下 SQL Server 2017 版本自由地授予使用许可:评估、 开发人员版和 Express。
备注
请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。
-
配置完成后,请验证服务是否正在运行:
bash 复制systemctl status mssql-server
-
若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD ,可以使用以下命令:
bash 复制sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
SQL Server 目前正在 RHEL 计算机上运行,可以使用了!
安装 SQL Server 命令行工具
若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd 和 bcp 。
-
下载 Microsoft Red Hat 存储库配置文件。
bash 复制sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
-
如果你有旧版 mssql 工具 安装,请删除任何较旧的 unixODBC 包。
bash 复制sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
-
运行以下命令以安装 mssql-tools 和 unixODBC 开发人员包。
bash 复制sudo yum install -y mssql-tools unixODBC-devel
-
为方便起见,请将
bash 复制/opt/mssql-tools/bin/
添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH :echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
-
使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为
bash 复制localhost
。 用户名为SA
,密码是在安装过程中为 SA 帐户提供的密码。sqlcmd -S localhost -U SA -P '<YourPassword>'
提示
可以在命令行上省略密码,以收到密码输入提示。
提示
如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
-
如果成功,应会显示 sqlcmd 命令提示符:
1>
。 -
如果连接失败,请首先尝试根据错误消息诊断问题。 然后查看 连接故障排除建议 。
创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
新建数据库
以下步骤创建一个名为 TestDB
的新数据库。
-
在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
SQL 复制CREATE DATABASE TestDB
-
在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SQL 复制SELECT Name from sys.Databases
-
前两个命令没有立即执行。 必须在新行中键入
SQL 复制GO
才能执行以前的命令:GO
提示
若要详细了解如何编写 Transact-SQL 语句和查询,请参阅 教程:编写 Transact-SQL 语句 。
插入数据
接下来创建一个新表 Inventory
,然后插入两个新行。
-
在 sqlcmd 命令提示符中,将上下文切换到新的
SQL 复制TestDB
数据库:USE TestDB
-
创建名为
SQL 复制Inventory
的新表:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
-
将数据插入新表:
SQL 复制INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
-
要执行上述命令的类型
SQL 复制GO
:GO
选择数据
现在,运行查询以从 Inventory
表返回数据。
-
通过 sqlcmd 命令提示符输入查询,以返回
SQL 复制Inventory
表中数量大于 152 的行:SELECT * FROM Inventory WHERE quantity > 152;
-
执行命令:
SQL 复制GO
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 QUIT
:
SQL 复制
QUIT
性能最佳实践
在 Linux 上安装 SQL Server 后, 查看配置 Linux 和 SQL Server 来提高生产方案的性能的最佳做法。 有关详细信息,请参阅 的性能最佳实践和 Linux 上的 SQL Server 配置准则 。
跨平台数据工具
除了 sqlcmd ,可以使用以下跨平台工具来管理 SQL Server:
Azure 数据 Studio | 跨平台 GUI 数据库管理实用程序。 |
mssql-cli | 用于运行 TRANSACT-SQL 命令的跨平台命令行界面。 |
Visual Studio Code | 运行 TRANSACT-SQL 语句,mssql 扩展通过一个跨平台 GUI 代码编辑器。 |
从 Windows 连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。 仅验证所使用的是目标 Linux 计算机名称或 IP 地址,而非 localhost,并确保 TCP 端口 1433 已打开。 如果从 Windows 进行连接存在任何问题,请参阅 连接故障排除建议 。
有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:
其他部署方案
有关其他安装方案,请参阅以下资源:
升级 | 了解如何升级 Linux 版 SQL Server 的现有安装 |
卸载 | 在 Linux 上卸载 SQL Server |
无人参与安装 | 了解如何编写无提示安装脚本 |
脱机安装 | 了解如何手动下载脱机安装程序包 |
提示
有关常见问题的解答,请参阅 SQL Server Linux 常见问题 。
后续步骤
脱机安装
如果你的 Linux 计算机无法访问中使用的在线存储库 快速入门 ,可以直接下载包文件。 这些包位于 Microsoft 存储库, https://packages.microsoft.com 。
提示
如果使用快速入门中的步骤已成功安装,您不需要下载或手动安装 SQL Server 包。 本部分仅适用于脱机方案。
-
下载你的平台的数据库引擎包 。 包详细信息部分中找到包下载链接 发行说明 。
-
将下载的包移到 Linux 计算机 。 如果使用另一台计算机下载包,将包移到 Linux 计算机的一种方法是使用 scp 命令。
-
安装数据库引擎包 。 使用以下命令基于你的平台之一。 在此示例包文件的名称替换为你下载的确切名称。
平台 包安装命令 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 包 (RHEL 和 SLES)
rpm -ivh
命令,但在上表中的命令会自动安装依赖项如果可从已批准的存储库。 -
解决缺少的依赖项 :你可能在此时缺少依赖项。 如果没有,可以跳过此步骤。 在 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无法访问在线Repo,你可以直接下载RPM包文件。这些包位于微软的资料库: https://packages.microsoft.com 。
CU9 (2018 年7 月)
SQL Server 2017的累积更新包9。SQL Server引擎版本是14.0.3030.27。
Package | Package version | Downloads |
Red Hat RPM package | 14.0.3030.27-1 | Engine RPM package |
About Me
........................................................................................................................ ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除 ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文博客园地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826 ........................................................................................................................ ● QQ群号: 230161599 (满) 、618766405 ● weixin群:可加我weixin,我拉大家进群,非诚勿扰 ● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由 ● 于 2019-04-01 06:00 ~ 2019-04-30 24:00 在魔都完成 ● 最新修改时间:2019-04-01 06:00 ~ 2019-04-30 24:00 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 ........................................................................................................................ ● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。 ........................................................................................................................ |
![]() | ![]() |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2642469/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26736162/viewspace-2642469/