centos

SQL Server在CentOS上的备份与还原技巧

小樊
54
2025-09-24 14:50:21
栏目: 云计算

SQL Server在CentOS上的备份与还原技巧

一、备份技巧

1. 准备工作:安装必要工具与配置权限

在备份前,需确保系统已安装mssql-tools(包含sqlcmd命令行工具)和unixODBC-devel,用于执行T-SQL命令和数据库连接。同时,创建专用备份目录并设置正确权限,避免权限问题导致备份失败:

sudo yum install -y mssql-tools unixODBC-devel  # 安装工具包
sudo mkdir -p /var/opt/mssql/backups            # 创建备份目录
sudo chown mssql:mssql /var/opt/mssql/backups   # 设置目录所有者为mssql用户
sudo chmod 700 /var/opt/mssql/backups           # 限制目录访问权限

2. 手动备份:T-SQL与SSMS两种方式

(1)使用T-SQL命令备份

通过sqlcmd工具登录SQL Server,执行BACKUP DATABASE命令实现完整备份(推荐格式化备份文件并添加描述):

BACKUP DATABASE [YourDatabaseName] 
TO DISK = '/var/opt/mssql/backups/YourDatabaseName_Full_$(date +\%F).bak' 
WITH FORMAT, MEDIANAME = 'YourDatabaseNameBackup', NAME = 'Full Backup of YourDatabaseName', STATS = 10;

(2)使用SSMS图形界面备份

若习惯图形操作,可通过SSMS完成:

3. 自动化备份:Crontab定时任务

通过crontab设置定时任务,实现每日自动备份(如凌晨2点执行):

sudo crontab -e

添加以下内容(替换YourDatabaseName、密码和路径):

0 2 * * * /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'your_password' -Q "BACKUP DATABASE [YourDatabaseName] TO DISK = '/var/opt/mssql/backups/YourDatabaseName_Full_$(date +\%F).bak' WITH FORMAT, STATS = 10;"

4. 备份策略建议

5. 备份验证与清理

二、还原技巧

1. 准备工作:停止服务与复制备份文件

还原前需停止SQL Server服务(避免文件占用),并将备份文件复制到SQL Server数据目录(如/var/opt/mssql/data/):

sudo systemctl stop mssql-server      # 停止服务
sudo cp /var/opt/mssql/backups/YourDatabaseName_Full.bak /var/opt/mssql/data/  # 复制备份文件
sudo systemctl start mssql-server     # 启动服务(可选,若需立即还原可保持停止)

2. 手动还原:T-SQL与SSMS两种方式

(1)使用T-SQL命令还原

通过sqlcmd工具执行RESTORE DATABASE命令,根据备份类型选择参数:

(2)使用SSMS图形界面还原

3. 还原后检查

还原完成后,需验证数据库状态和数据完整性:

0
看了该问题的人还看了