一、背景说明

项目需要在centos8(RHEL7)部署sqlserver数据库,从2016年(大约记得是这个时间)开始微软的Sqlserver也开始支持在Linux平台中进行部署,所以从环境方面来说没有太大问题。

实际操作过程中,参照官方部署步骤,发现重点是对联机(可连通公网)状态下的部署步骤描述比较详细,对于脱机状态的描述个人认为比较模糊,中间好多依赖都没有说的很清楚,需要自己琢磨。(微软官方安装步骤:RHEL:在 Linux 上安装 SQL Server - SQL Server

二、具体部署步骤

SQL Server 2019比较重要的一个依赖是python3,但是centos7.x默认安装的都是python2(其他centos版本没研究,可以通过python3 -V查看是否预装了python3)

  1. 找一台与部署环境接近(我认为大版本一致就行,例如都是centos7.x)的设备(通过VMware搭建虚拟机即可),可以连通公网,提前下载依赖包。

依赖包我分了两个过程:一是下载python3及相关依赖包;二是下载SQL Server 2019机器相关依赖包。因为在实测过程中发现下载SQL Server 2019依赖包时不会包含python3的内容,可能微软认为部署环境就应该具备python3环境吧。

下面上具体步骤:

(1)通过yumdownloader下载所有依赖包,有的环境没有预装yumdownloader服务,需要先装一下(已经安装的就不需要了)

yum install yum-utils -y

(2)下载python3及依赖

mkdir /python3_all           //新建一个文件夹用来存放下载内容

  yumdownloader --resolve --destdir=/python3_all  python3    //resolve同时下载相关的rpm依赖包,destdir指定下载目录

(3)下载SQL Server 2019及依赖

mkdir /mssql2019           //新建一个文件夹用来存放下载内容

  sudo curl -o /etc/yum.repos.d/mssql-server.repo [https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo](https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo)         //下载 Microsoft SQL Server 2019 Red Hat 存储库配置文件

  yumdownloader --resolve --destdir=/mssql2019  mssql-server    //resolve同时下载相关的rpm依赖包,destdir指定下载目录
  1. 将压缩包拷贝到脱机环境服务器上

(1)rpm手动安装

cd python3_all

  rpm -ivh ./*.rpm --force         //先安装python及依赖 force强制安装

  cd mssql2019

  rpm -ivh ./*.rpm --force         //先安装python及依赖 force强制安装

(2)SQL Server 2019配置

sudo /opt/mssql/bin/mssql-conf setup

参考官网 RHEL:在 Linux 上安装 SQL Server - SQL Server

(3)执行后进行Microsoft SQL Server 的设置,我这里是选择Enterprise ,其他配置根据自己需要进行配置

[root@aaa local]# sudo /opt/mssql/bin/mssql-conf setup

usermod:无改变

选择 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): 6

可以在以下位置找到此产品的许可条款:/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 系统管理员密码:

指定的密码不符合 SQL Server 密码策略要求,因为它不够复杂。密码必须至少包含 8 个字符,并包含以下四种字符集中的任意三种: 大写字母、小写字母、数字和符号。

输入 SQL Server 系统管理员密码:

确认 SQL Server 系统管理员密码:

正在配置 SQL Server…

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 正在启动。

注:MSSQL账户默认 sa