当前位置: 首页 > news >正文

‌在 Fedora 系统下备份远程 Windows SQL Server 数据库的完整方案

一、环境准备与工具安装

1. 安装 Microsoft SQL Server 命令行工具

Fedora 需安装 mssql-tools 和 ODBC 驱动:

# 添加 Microsoft 仓库
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo

# 安装工具包
sudo dnf install -y mssql-tools unixODBC-devel

# 添加工具路径到环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
2. 验证网络连通性

确保 Fedora 可以访问 SQL Server 的端口:

nc -zv 192.168.1.29 1433
# 若输出 "succeeded!" 表示连接正常

二、备份脚本编写

1. 创建备份脚本 sql_backup.sh
#!/bin/bash

# 配置参数
SERVER="192.168.1.29,1433"  # SQL Server 地址和端口
USER="sa"                     # 用户名
PASSWORD="Kl.2024erp"         # 密码
DATABASES=("SMDB_001_2024" "SMIS")  # 数据库列表
BACKUP_DIR="/opt/sql_backups"         # Fedora本地备份目录
DATE=$(date +"%Y%m%d")                # 当前日期(格式:20231001)

# 创建本地备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"

# 循环备份每个数据库
for DB in "${DATABASES[@]}"; do
    # 定义备份文件名(含日期)
    BACKUP_FILE="${BACKUP_DIR}/${DB}_${DATE}.bak"

    # 执行备份命令
    echo "正在备份数据库: $DB ..."
    sqlcmd -S "$SERVER" -U "$USER" -P "$PASSWORD" -Q "BACKUP DATABASE [$DB] TO DISK='$BACKUP_FILE' WITH FORMAT, COMPRESSION"

    # 检查备份结果
    if [ $? -eq 0 ]; then
        echo "成功: 数据库 $DB 已备份到 $BACKUP_FILE"
    else
        echo "错误: 数据库 $DB 备份失败!"
        exit 1
    fi
done

echo "所有数据库备份完成!"
‌‌2. 赋予脚本执行权限
chmod +x sql_backup.sh

三、执行备份

1. 手动运行脚本
./sql_backup.sh
2. 预期输出

正在备份数据库: SMDB_001_2024 ...
成功: 数据库 SMDB_001_2024 已备份到 /opt/sql_backups/SMDB_001_2024_20231001.bak
正在备份数据库: SMIS ...
成功: 数据库 SMIS 已备份到 /opt/sql_backups/SMIS_20231001.bak
所有数据库备份完成!

2. 修改脚本的备份路径

将 BACKUP_DIR 改为挂载点:

BACKUP_DIR="/mnt/sql_backup"
http://www.dtcms.com/a/103205.html

相关文章:

  • Oracle数据库数据编程SQL<3.5 PL/SQL 存储过程(Procedure)>
  • JMeter进行分布式压测
  • 【力扣刷题实战】寻找数组的中心下标
  • Scala基础知识3
  • Kong网关研究
  • Android 中实现一个自定义的 AES 算法
  • 【SPP】深入解析蓝牙 L2CAP 协议在SPP中的互操作性要求 —— 构建可靠的蓝牙串口通信基础
  • CF每日5题(1400)
  • 关于微信小程序云开发,上传数据库时--数据异常问题
  • 从零构建大语言模型全栈开发指南:第四部分:工程实践与部署-4.1.2ONNX格式转换与TensorRT部署
  • 数据库部署在服务器表不存在解决方案
  • LVS负载均衡集群
  • 跨域问题解决
  • 【Linux】进程的详讲(中上)
  • 蓝桥杯数学知识
  • 20250331-智谱-沉思
  • 蓝桥杯备赛之枚举
  • 在Windows Server上安装和配置MinIO对象存储服务
  • PyTorch量化进阶教程:第三章 A 股数据处理与特征工程
  • 以太坊DApp开发脚手架:Scaffold-ETH 2 详细介绍与搭建教程
  • Spring Boot 2.x 与 Nacos 整合规范指南
  • 函数:static和extern
  • 3 通过图形化方式创建helloworld
  • QML输入控件: TextField(文本框)的样式定制
  • 408 计算机网络 知识点记忆(3)
  • mysql JSON_ARRAYAGG联合JSON_OBJECT使用查询整合(数组对象)字段
  • “钉耙编程”2025春季联赛(2)题解(更新中)
  • 在 Cloud Run 上使用 Gemini API 构建聊天应用
  • linux 服务器创建服务器启动后服务自启动
  • 突破反爬困境:SDK开发,浏览器模块(七)