热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多提宝贵地意见,我们一起提升,守住自己的饭碗。
正文开始
今天主要介绍两种在CentOS 一键安装SQL Server 2019的方法。
一、离线安装
离线安装包下载地址:
https://packages.microsoft.com/rhel/7/mssql-server-2019/Packages/m/
1、安装mssql
[root@localhost ~]# rpm -ivh root/mssql-server-15.0.4375.4-1.x86_64.rpm
2、配置SQL Server
运行sudo opt/mssql/bin/mssql-conf setup命令,版本默认,设置SA密码
[root@localhost ~]# sudo opt/mssql/bin/mssql-conf setup

3、安装命令行工具sqlcmd工具下载地址:
https://packages.microsoft.com/rhel/7/prod/Packages/m/


[root@localhost ~]# rpm -ivh mssql-tools-17.10.1.1-1.x86_64.rpm、unixODBC-devel-2.3.11-1.rh.x86_64.rpm、msodbcsql17-17.10.6.1-1.x86_64.rpm、unixODBC-2.3.11-1.rh.x86_64.rpm
二、联网一键安装脚本
重点来了,接下来是联网一键安装脚本,大家也可以下载下来上传一键安装。
脚本内容
#!/bin/bashset -euo pipefail# 检查root权限if [[ $EUID -ne 0 ]]; thenecho "此脚本必须以root权限运行"exit 1fi# 用户输入配置read -p "请输入SA用户密码:" SA_PASSWORDread -p "选择SQL版本 (默认: Enterprise) [Evaluation/Developer/Express/Standard/Enterprise]:" SQL_EDITIONSQL_EDITION=${SQL_EDITION:-Enterprise}# 安装依赖#配置本地离线yum源,iso必须挂载cd etc/yum.repos.d/rm -rf ./*cat <<EOF > etc/yum.repos.d/local.repo[centos]name=centosbaseurl=file:///mntgpgcheck=0enabled=1EOFmount dev/sr0 mntyum clean all && yum makecacheyum --setopt=assumeyes=1 install bzip2 libsss_nss_idmap gdb lsof cyrus-sasl cyrus-sasl-gssapi libatomic python3 -ysleep 20# 添加微软YUM源echo "正在配置YUM源..."cd etc/yum.repos.d/rm -rf ./*curl -o etc/yum.repos.d/mssql-server-2019.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repocurl -o etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo# 刷新YUM缓存yum clean allyum makecache# 安装核心组件echo "正在安装SQL Server..."yum install -y mssql-server# 安装工具集echo "正在安装工具组件..."ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel# 设置环境变量echo "配置环境变量..."cat << EOF >> etc/profile.d/mssql.shexport PATH="/opt/mssql-tools/bin:\$PATH"EOFsource etc/profile.d/mssql.sh# 初始化配置echo "执行初始化配置..."MSSQL_SA_PASSWORD=$SA_PASSWORD \MSSQL_PID=$SQL_EDITION \ACCEPT_EULA=Y \SQL_INSTALL_AGENT=Y \/opt/mssql/bin/mssql-conf -n setup# 创建数据目录echo "配置存储目录..."DATA_DIR="/data/mssql/1433"mkdir -p ${DATA_DIR}/{database,dbbackup,dump,tempdb}chown -R mssql:mssql ${DATA_DIR}chmod -R 750 ${DATA_DIR}# 基础配置echo "应用基础配置..."systemctl enable mssql-server.servicesystemctl restart mssql-server.servicesleep 20/opt/mssql/bin/mssql-conf set filelocation.defaultdatadir ${DATA_DIR}/database/opt/mssql/bin/mssql-conf set filelocation.defaultlogdir ${DATA_DIR}/database/opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir ${DATA_DIR}/dbbackup/opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir ${DATA_DIR}/dump/opt/mssql/bin/mssql-conf set memory.memorylimitmb 3000/opt/mssql/bin/mssql-conf set hadr.hadrenabled true/opt/mssql/bin/mssql-conf set sqlagent.enabled trueecho "重启 SQL Server 服务..."systemctl restart mssql-server.service# 检查服务状态echo "检查服务状态..."systemctl status mssql-server.service# 等待服务启动sleep 10# 配置TempDB路径echo "配置TempDB..."/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" << EOFUSE master;GOALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = '${DATA_DIR}/tempdb/tempdb.mdf');ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev2, FILENAME = '${DATA_DIR}/tempdb/tempdb2.ndf');ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = '${DATA_DIR}/tempdb/templog.ldf');GOEOF# 应用高级配置echo "应用高级配置..."/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" << EOFEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'contained database authentication', 1;EXEC sp_configure 'backup checksum default', 1;EXEC sp_configure 'backup compression default', 1;EXEC sp_configure 'blocked process threshold (s)', 5;EXEC sp_configure 'max degree of parallelism', 2;RECONFIGURE;EOF# 最终重启systemctl restart mssql-server.serviceecho "安装完成!"echo "验证命令:systemctl status mssql-server.service"echo "连接命令:sqlcmd -S localhost -U sa -P '$SA_PASSWORD'"
[root@localhost ~]# chmod +x mss.sh[root@localhost ~]# ./mss.sh




用Microsoft SQL Server Management Studio远程登录,执行命令查看版本
select @@VERSION;go
接下来,我们就可以正常使用SQL Server 2019了。
参考链接:
https://mp.weixin.qq.com/s/8u9rzxnPNzbmVknqReSwKQ
https://www.cnblogs.com/muhai/p/18352906
文中的概念来源于互联网,如有侵权,请联系我删除。
欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。
文章转载自小周的数据库进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




