在 Debian 上“备 SQL Server”,通常指备份 SQL Server 数据库(不是安装)。下面按最常用、最稳妥的方式说明,适用于 Debian + SQL Server 2019/2022。
sqlcmd -S localhost -U sa -P '你的密码'
或指定端口:
sqlcmd -S 127.0.0.1,1433 -U sa -P '密码'
BACKUP DATABASE [数据库名]
TO DISK = '/var/opt/mssql/backup/db.bak'
WITH COMPRESSION, INIT;
GO
⚠ 注意:
/var/opt/mssql/backup/ 必须存在创建目录示例:
sudo mkdir -p /var/opt/mssql/backup
sudo chown mssql:mssql /var/opt/mssql/backup
BACKUP DATABASE [dbname]
TO DISK = '/backup/db.bak'
WITH COMPRESSION;
GO
for db in $(sqlcmd -S localhost -U sa -P '密码' -Q "SELECT name FROM sys.databases WHERE database_id > 4" -h -1)
do
sqlcmd -S localhost -U sa -P '密码' \
-Q "BACKUP DATABASE [$db] TO DISK='/backup/$db.bak' WITH COMPRESSION"
done
BACKUP DATABASE [dbname]
TO DISK = '/backup/db_diff.bak'
WITH DIFFERENTIAL;
BACKUP LOG [dbname]
TO DISK = '/backup/db_log.trn';
crontab -e
每天 2 点备份:
0 2 * * * /usr/bin/sqlcmd -S localhost -U sa -P '密码' -Q "BACKUP DATABASE [dbname] TO DISK='/backup/db.bak' WITH COMPRESSION"
RESTORE DATABASE [dbname]
FROM DISK = '/backup/db.bak'
WITH REPLACE;
Operating system error 5
→ 目录权限不对,给 mssql 用户写权限
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt update
sudo apt install mssql-tools unixodbc-dev
如果你指的是:
告诉我你的场景,我可以给你更精确的方案。