手动完整备份(示例):sqlcmd -S localhost -U SA -P ‘YourPassword’ -Q “BACKUP DATABASE [YourDatabaseName] TO DISK = N’/var/opt/mssql/backups/YourDatabaseName_full.bak’ WITH FORMAT, COMPRESSION, STATS = 10”。FORMAT 会在首次或覆盖时重建介质;COMPRESSION 减少备份体积;STATS 显示进度。
差异与日志备份:差异 sqlcmd -S localhost -U SA -P ‘YourPassword’ -Q “BACKUP DATABASE [YourDatabaseName] TO DISK = N’/var/opt/mssql/backups/YourDatabaseName_diff.bak’ WITH DIFFERENTIAL, INIT, SKIP, NAME ‘YourDatabaseName-diff’”;日志 sqlcmd -S localhost -U SA -P ‘YourPassword’ -Q “BACKUP LOG [YourDatabaseName] TO DISK = N’/var/opt/mssql/backups/YourDatabaseName_log.bak’ WITH INIT, SKIP”。
恢复流程:先恢复完整备份(NORECOVERY 以便后续还原差异/日志),再恢复差异(NORECOVERY),最后恢复日志(WITH RECOVERY 使数据库上线)。示例:RESTORE DATABASE [YourDatabaseName] FROM DISK = N’/var/opt/mssql/backups/YourDatabaseName_full.bak’ WITH NORECOVERY;RESTORE DATABASE [YourDatabaseName] FROM DISK = N’/var/opt/mssql/backups/YourDatabaseName_diff.bak’ WITH NORECOVERY;RESTORE LOG [YourDatabaseName] FROM DISK = N’/var/opt/mssql/backups/YourDatabaseName_log.bak’ WITH RECOVERY。