sqlserver 2017支持在Linux上安装,推荐在redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04安装。
作者简介:王旭,在数据库管理方面拥有10多年经验。精通主流数据库系统,在企业数据库管理、性能优化、架构设计和高可用性能解决方案方面拥有丰富得实践经验。目前拥有(ORACLE ACE、MYSQL OCP、PG ACE、PGCA、PGCE、PGCM)等数据库认证。
参考:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-ver15&preserve-view=true&tabs=rhel8
第一、介绍sqlserver支持在linux支持安装的版本信息
** sqlserver 2017(首次支持)、2019、2022,也就是说从2017开始后面都支持在linux上安装。具体在哪些linux能够安装呢?redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04;
** sqlserver2017安装包版本号为14.x,sqlserver2019安装包版本号为15.x,sqlserver2022安装包版本号为16.x.
第二、sqlserver支持在linux安装方式介绍
###在线安装
** 要求网络联通
1、下载 SQL Server 2019 (15.x) Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
2、运行以下命令以安装 SQL Server:
sudo yum install -y mssql-server
3、包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。 作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。
sudo /opt/mssql/bin/mssql-conf setup
注意:请记住为 SA 帐户指定强密码。 需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。
4、完成配置后,验证服务是否正在运行:
systemctl status mssql-server
5、防火墙允许端口
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
###离线安装
1、下载地址
https://packages.microsoft.com/rhel/7/mssql-server-2017/Packages/m/
https://packages.microsoft.com/rhel/7/mssql-server-2019/Packages/m/
https://packages.microsoft.com/rhel/8/mssql-server-2019/Packages/m/

2、上传到服务器安装
[root@pg1 soft]# yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm
注意:安装后会创建一个服务,后面初始化后会从这个服务再创建一个软连接
[root@ol71 soft]# ll /usr/lib/systemd/system/mssql-server.service
-rw-r--r--. 1 root root 655 6月 11 2024 /usr/lib/systemd/system/mssql-server.service
第三、sqlserver初始化方式介绍
###交互式初始化
所谓交互式初始化就是安装了上述软件后,执行mssql-conf setup,然后根据提示选择初始化的版本、安装的语言、以及设置sqlserver sa管理员的密码。提示一步做一步。该操作最大的败笔就是不能自定义数据文件路径。
[root@pg1 soft]# sudo /opt/mssql/bin/mssql-conf setup
选择 SQL Server 的一个版本:
1) Evaluation (免费,无生产许可,180 天限制)
2) Developer (免费,无生产许可)
3) Express (免费)
4) Web (付费版)
5) Standard (付费版)
6) Enterprise (付费版) - CPU 核心利用率限制为 20 个物理/40 个超线程
7) Enterprise Core (付费版) - CPU 核心利用率达到操作系统最大值
8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。
可在以下位置找到有关版本的详细信息:
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x804
使用此软件的付费版本需要通过以下途径获取单独授权
Microsoft 批量许可计划。
选择付费版本即表示你具有适用的
要安装和运行此软件的就地许可证数量。
输入版本(1-8): 8 ,然后输入注册码
可以在以下位置找到此产品的许可条款:
/usr/share/doc/mssql-server 或从以下位置下载:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x804
可以从以下位置查看隐私声明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804
接受此许可条款吗? [Yes/No]:yes
选择 SQL Server 的语言:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Руѝѝкий
(10) 中文 – 简体
(11) 中文 (繝体)
输入选项 1-11:10
输入 SQL Server 系统管理员密码:
指定的密码不符合 SQL Server 密码策略要求,因为该密码太短。密码必须至少为 8 个字符
输入 SQL Server 系统管理员密码: 123qwe,./
确认 SQL Server 系统管理员密码: 123qwe,./
正在配置 SQL Server...
已成功处理授权 PID。新版本为 [Enterprise Edition: Core-based Licensing]。
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
安装程序已成功完成。SQL Server 正在启动。
###非交互式初始化
静默安装,把参数全部写好,然后一键执行;好处就是灵活,自己想怎么来就怎么来。
关于参数设置,参考:
--关于环境变量设置
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-ver15
操作步骤:
--创建以上的目录;
rm -f /var/opt/mssql/mssql.conf
rm -fr /sqlserverdata/
mkdir -p /sqlserverdata/logs
mkdir -p /sqlserverdata/dump
mkdir -p /sqlserverdata/backup
mkdir -p /sqlserverdata/udata
mkdir -p /sqlserverdata/masterdb/
sudo chown -R mssql.mssql /sqlserverdata/
sudo ACCEPT_EULA='Y' MSSQL_SA_PASSWORD='123qwe,./' MSSQL_PID='2C9JR-K3RNG-QD4M4-JQ2HR-8468J' MSSQL_LCID='2052' MSSQL_COLLATION='Chinese_PRC_CI_AS' MSSQL_MEMORY_LIMIT_MB='2048' MSSQL_TCP_PORT='1433' MSSQL_IP_ADDRESS='192.168.133.97' MSSQL_BACKUP_DIR='/sqlserverdata/backup' MSSQL_DATA_DIR='/sqlserverdata/udata' MSSQL_LOG_DIR='/sqlserverdata/udata' MSSQL_DUMP_DIR='/sqlserverdata/dump' MSSQL_MASTER_DATA_FILE='/sqlserverdata/masterdb/master.mdf' MSSQL_MASTER_LOG_FILE='/sqlserverdata/masterdb/mastlog.ldf' MSSQL_ERROR_LOG_FILE='/sqlserverdata/logs/errorlog' MSSQL_AGENT_ENABLED='true' /opt/mssql/bin/mssql-conf setup
-n就是不提示,不加就是显示下面的到终端屏幕
第四,初始化完成后确认
[root@ol71 masterdb]# ps -ef|grep mssql
mssql 11946 1 0 02:37 ? 00:00:00 /opt/mssql/bin/sqlservr
mssql 11970 11946 1 02:37 ? 00:00:21 /opt/mssql/bin/sqlservr
root 12482 3023 0 02:56 pts/1 00:00:00 grep --color=auto mssql
[root@ol71 masterdb]# ss -lnt|grep 1433
LISTEN 0 128 192.168.133.97:1433 *:*
[root@ol71 masterdb]# sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
[root@ol71 masterdb]# sudo firewall-cmd --reload
--按照上面的初始化完成后,数据全部在/sqlserverdata/下
SELECT * from sys.master_files;
第五,安装 SQL Server 命令行工具
安装 SQL Server 命令行工具
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-tools?view=sql-server-linux-ver15&tabs=redhat-install
若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具。
• sqlcmd:命令行查询实用工具。
• bcp:批量导入-导出实用工具。
方法1,在线安装
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 中的 PATH 环境变量添加 /opt/mssql-tools18/bin/。
若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
source ~/.bash_profile
若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
方法2,脱机安装
如果 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 计算机。 如果使用了不同的计算机下载包,则可以通过“scp”命令将包移至你的 Linux 计算机。
4.安装包:安装 mssql-tools18 和 msodbc18 包。 如果遇到任何依赖项错误,请忽略,直到出现下一步操作。 将 <version> 替换为正确的版本:
sudo yum localinstall msodbcsql18-<version>.rpm
sudo yum localinstall mssql-tools18-<version>.rpm
5.解决缺少依赖项的问题:此时可能会出现缺少依赖项的情况。 如果没有,可以跳过此步骤。 在某些情况下,必须手动查找并安装这些依赖项。
安装示例:
[root@ol71 soft]# yum -y install msodbcsql18-18.4.1.1-1.x86_64.rpm
[root@ol71 soft]# yum -y install mssql-tools18-18.4.1.1-1.x86_64.rpm
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
[root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C
Password:
第六,安装 SQL Server 命令行工具后测试
[root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C
Password:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 (RTM-CU27) (KB5037331) - 15.0.4375.4 (X64)
Jun 10 2024 18:00:07
Copyright (C) 2019 Microsoft Corporation
Standard Edition (64-bit) on Linux (Oracle Linux Server 7.9) <X64>
(1 rows affected)
[root@ol71 logs]# sqlcmd -S 192.168.133.97,1433 -U sa -C
CREATE DATABASE TestDB;
SELECT Name from sys.databases;
前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:
go
USE TestDB;
CREATE TABLE dbo.Inventory (
id INT,
name NVARCHAR(50),
quantity INT,
PRIMARY KEY (id)
);
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
go
SELECT * FROM dbo.Inventory
WHERE quantity > 152;
go
QUIT
第七、总结
1、linux安装sqlserver生成使用的不多,我所有的操作全部是按照官网的文档摸索过来,对于全中文来说,这一点还是比较好。
2、sqlserver安装分两步:
1)yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm ,该步简单理解就是将软件可执行文件生成到/opt/mssql/目录下;然后生成一个自动启动sqlserver的原始服务/usr/lib/systemd/system/mssql-server.service
2)执行mssql-conf setup配置后,产生/var/opt/mssql/data/目录,/var/opt/mssql/mssql.conf配置文件目录,同时根据/usr/lib/systemd/system/mssql-server.service创建一个软连接到/etc/systemd/system/multi-user.target.wants/mssql-server.service;
3、总体来讲还是比较简单,了解了安装就知道怎么卸载了。卸载实例和卸载软件或者只删除实例重新初始化就太简单了。
后续将持续分享,欢迎关注~
原文来源:https://mp.weixin.qq.com/s/V3wDdZj-xeO87RzakicJuQ
来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。
Copyright©2013-2025 JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利
苏公网安备32010402000125
苏ICP备14051488号-3技术支持:南京博盛蓝睿网络科技有限公司
南京思必达教育科技有限公司版权所有 百度统计