如何在CentOS上备份SQL Server数据

centos系统下sql server数据库备份指南

本文将指导您如何在centos系统上安全地备份SQL Server数据库。 我们将涵盖手动备份和自动化备份两种方法。

第一步:安装必要软件包

首先,请确保您的CentOS系统已安装以下软件包:mssql-tools 和 unixODBC-devel。 使用以下命令进行安装:

sudo yum install -y mssql-tools unixODBC-devel

第二步:验证SQL Server服务状态

确认SQL Server服务已正确安装并运行。 使用以下命令检查服务状态:

sudo systemctl status mssql-server

如果服务未运行,请使用以下命令启动:

sudo systemctl start mssql-server

第三步:创建备份目录

创建一个目录用于存储备份文件,例如:

sudo mkdir -p /var/opt/mssql/backup

第四步:使用SQL Server命令行工具进行备份

本方法使用sqlcmd工具进行数据库完整备份。

  1. 连接到SQL Server:

    sqlcmd -S localhost -U sa -P your_password

    (将your_password替换为您的SQL Server密码)

  2. 执行备份命令:

    BACKUP DATABASE YourDatabaseName TO DISK = '/var/opt/mssql/backup/YourDatabaseName_Backup.bak' WITH FORMAT, MEDIANAME = 'YourDatabaseNameBackup', NAME = 'Full Backup of YourDatabaseName';

    (将YourDatabaseName替换为您的数据库名称)

第五步:使用bcp工具进行表数据备份 (可选)

如果您只需要备份特定表的数据,可以使用bcp工具。

  1. 导出数据到csv文件:

    bcp "SELECT * FROM YourDatabaseName.dbo.YourTableName" queryout /var/opt/mssql/backup/YourTableName_Backup.csv -c -t, -S localhost -U sa -P your_password

    (将YourDatabaseName替换为您的数据库名称,YourTableName替换为您的表名称)

第六步:验证备份文件

备份完成后,验证备份文件是否存在且大小合理:

ls -l /var/opt/mssql/backup/

第七步:设置自动化备份 (可选)

使用cron作业实现每日自动备份。编辑crontab文件:

sudo crontab -e

添加以下行,设定每天凌晨2点进行备份:

0 2 * * * /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P your_password -Q "BACKUP DATABASE YourDatabaseName TO DISK = '/var/opt/mssql/backup/YourDatabaseName_Backup_$(date +%F).bak' WITH FORMAT, MEDIANAME = 'YourDatabaseNameBackup', NAME = 'Full Backup of YourDatabaseName';"

(记得将占位符替换为您的实际信息)

总结:

通过以上步骤,您可以有效地备份您的SQL Server数据库。 建议定期进行备份并妥善保管备份文件,以防数据丢失。 选择使用sqlcmd进行完整数据库备份,或者使用bcp备份特定表,取决于您的需求。 自动化备份可以简化您的工作流程,并确保您的数据得到定期保护。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享