在Ubuntu上备份SQL Server数据库,你可以使用sqlcmd工具来执行备份操作。以下是一个基本的步骤指南:
打开终端: 在Ubuntu上打开一个终端窗口。
连接到SQL Server:
使用sqlcmd工具连接到你的SQL Server实例。你需要知道服务器名称、数据库名称、用户名和密码。
sqlcmd -S server_name -d database_name -U username -P password
如果你的SQL Server配置了Windows身份验证,你可以省略-U和-P参数,并使用-E来使用当前Windows账户登录。
执行备份命令: 一旦连接到数据库,你可以执行备份命令。以下是一个备份数据库的示例命令:
BACKUP DATABASE database_name
TO DISK = '/path/to/backup/file.bak'
WITH FORMAT, MEDIANAME = 'media_name', NAME = 'backup_description';
替换database_name为你要备份的数据库名称,/path/to/backup/file.bak为备份文件的路径,media_name为备份集的逻辑名称,backup_description为备份的描述。
退出sqlcmd:
备份完成后,你可以输入GO命令然后退出sqlcmd。
GO
EXIT
自动化备份: 如果你想定期自动备份数据库,可以将上述命令写入一个shell脚本,并使用cron作业来定期执行这个脚本。
创建一个名为backup_sql_server.sh的脚本文件:
#!/bin/bash
/opt/mssql-tools/bin/sqlcmd -S server_name -d database_name -U username -P password -Q "BACKUP DATABASE database_name TO DISK = '/path/to/backup/file.bak' WITH FORMAT, MEDIANAME = 'media_name', NAME = 'backup_description';"
确保脚本有执行权限:
chmod +x backup_sql_server.sh
编辑cron作业来定期运行脚本。使用crontab -e命令来编辑当前用户的cron作业:
crontab -e
添加一行来定义备份的时间表,例如每天凌晨1点执行备份:
0 1 * * * /path/to/backup_sql_server.sh
保存并退出编辑器。
请注意,上述步骤假设你已经安装了SQL Server命令行工具mssql-tools。如果没有安装,你可以从Microsoft官方网站下载并安装它。此外,确保你有足够的权限来执行备份操作,并且备份路径是可写的。