上下五千年最齐全、最完整、最牛的sqlserver在linux环境上安装实操

:2025年02月28日 数据库技术加油站
分享到:

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/

![](https://files.mdnice.com/user/82842/df090b26-912e-4eeb-a577-29870f79b8f6.png)

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

[我要纠错]
[编辑:宋聪乔 &发表于江苏]
关键词: 作者 简介 王旭 数据库 管理

来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

点个赞
0
踩一脚
0

您在阅读:上下五千年最齐全、最完整、最牛的sqlserver在linux环境上安装实操

Copyright©2013-2025  JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利

苏公网安备32010402000125 苏ICP备14051488号-3技术支持:南京博盛蓝睿网络科技有限公司

南京思必达教育科技有限公司版权所有   百度统计

最热文章
最新文章
  • 阿里云上云钜惠,云产品享最低成本,有需要联系,
  • 卡尔蔡司镜片优惠店,镜片价格低
  • 苹果原装手机壳