SQL-Server2019离线部署安装【CentOS7.4】

一、前言

  SQL ServerMicrosoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

二、部署环境&安装包

1.环境

screenfetch

在这里插入图片描述

2.安装包

三、具体步骤

1.安装依赖包

tar -xvzf mssql-dev.tar.gz && cd mssql-dev		//解压并进入目录
yum -y localinstall *.rpm											//yum本地安装

在这里插入图片描述

2.安装sql-server

tar -xvzf  mssql-server-rpm.tar.gz && cd mssqlrpm
rpm -ivh mssql-server-15.0.4375.4-1.x86_64.rpm

在这里插入图片描述

# 包安装完成后,使用其完整路径运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。
/opt/mssql/bin/mssql-conf setup
2								    //选择免费版本
yes 								//同意一下许可条款
10  								//语言选择简体中文
********							//管理员密码
********							//确认密码

在这里插入图片描述

3.查看运行状态

systemctl status mssql-server
netstat -ntlupa |grep 1433

在这里插入图片描述

说明:根据图中所示状态已经在运行并且服务端口为1433/tcp

4.开放对应端口(可选)

# 默认的 SQL Server 端口为1433,TCP协议。 如果为防火墙使用的是FirewallD,则可以使用以下命令:
firewall-cmd --zone=public --add-port=1433/tcp --permanent && firewall-cmd --reload
firewall-cmd --zone=public --list-port

在这里插入图片描述

5.安装客户端(可选)

说明:离线包用不了的用下面线上安装方式即可

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
yum install -y mssql-tools18 unixODBC-devel
# 添加环境变量并激活
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> /etc/profile
source /etc/profile

在这里插入图片描述

6.数据库测试

注意:******换成自己设置的密码

sqlcmd -U sa -P '******' -S 127.0.0.1 -C -N 
CREATE DATABASE TestDB;
SELECT Name FROM sys.databases;
GO

在这里插入图片描述

USE TestDB;
CREATE TABLE dbo.Inventory (    id INT,    name NVARCHAR (50),    quantity INT,    PRIMARY KEY (id));
SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO
QUIT

在这里插入图片描述

6.数据库备份

vim sql_server_backup.sh
#!/bin/bash
# 设置变量
DB_SERVER="localhost" # SQL Server 地址
DB_USER="sa" # SQL Server 用户
DB_PASSWORD="******" # SQL Server 密码
BACKUP_DIR="/srv/sql_backup" # 备份存储目录
DATE=$(date +"%Y%m%d%H%M%S") # 当前时间戳

# 检查备份目录是否存在,如果不存在则创建
if [ ! -d "$BACKUP_DIR" ]; then
    echo "备份目录不存在,正在创建目录:$BACKUP_DIR"
    mkdir -p $BACKUP_DIR
    echo "备份目录未授权,正在授权目录:$BACKUP_DIR"
    chown -R mssql:mssql $BACKUP_DIR
    if [ $? -eq 0 ]; then
        echo "目录创建成功:$BACKUP_DIR"
    else
        echo "创建目录失败!"
        exit 1
    fi
else
    echo "备份目录已存在:$BACKUP_DIR"
    echo "正在授权备份目录:$BACKUP_DIR"
    chown -R mssql:mssql $BACKUP_DIR
    
fi

# 获取所有数据库名称(排除系统数据库)
DATABASES=$(sqlcmd -S $DB_SERVER  -C -N -U $DB_USER -P $DB_PASSWORD -Q "SET NOCOUNT ON; SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb', 'distribution')" -h -1 -W)

# 对每个数据库执行备份
for DB_NAME in $DATABASES; do
    # 创建备份文件名
    BACKUP_FILE="${BACKUP_DIR}/backup_${DB_NAME}_${DATE}.bak"

    # 执行备份命令
    sqlcmd -C -N -S $DB_SERVER -U $DB_USER -P $DB_PASSWORD -Q "BACKUP DATABASE [$DB_NAME] TO DISK = N'$BACKUP_FILE' WITH NOFORMAT, NOINIT, NAME = N'$DB_NAME-Complete Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

    # 检查备份是否成功
    if [ $? -eq 0 ]; then
        echo "数据库 $DB_NAME 备份成功: $BACKUP_FILE"
    else
        echo "数据库 $DB_NAME 备份失败"
    fi
done

:wq
chmod +x sql_server_backup.sh

注意:DB_PASSWORD换成自己的密码

在这里插入图片描述
执行测试没问题写入cron定时任务即可

crontab -e
0 0 * * * /srv/soft/sql_server_backup.sh
:wq

四、结束语

  本次CentOS7.4Linux系统离线部署SQL-Server2019就到此结束了,后期会给大家带来更多相关使用教程等,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cs阿坤dn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值