sudo systemctl stop mssql-server。/var/opt/mssql/backup/)。sudo /opt/mssql/bin/sqlservr -m。sqlcmd工具连接(替换your_password为sa账户密码):sqlcmd -S localhost -U sa -P your_password;数据库名称、备份文件路径):RESTORE DATABASE [数据库名称] FROM DISK '/备份文件路径/备份文件名.bak' WITH REPLACE, RECOVERY;;GO执行命令,完成后输入QUIT退出sqlcmd。sudo yum install -y mssql-tools。sqlcmd连接:sqlcmd -S localhost -U sa -P your_password;若已执行完整备份并有多个事务日志备份,可通过事务日志恢复到特定时间点。命令示例:
RESTORE LOG [数据库名称] FROM DISK '/备份文件路径/日志文件名.trn' WITH RECOVERY, STOPAT='2025-10-20 14:30:00';
(替换数据库名称、日志文件路径及目标时间点)。
若配置了数据库镜像,可通过手动切换至镜像数据库恢复服务。命令示例:
ALTER DATABASE [数据库名称] SET PARTNER FAILOVER;
(切换后,镜像数据库成为主数据库)。
sqlcmd执行SELECT name, state_desc FROM sys.databases WHERE name = '数据库名称';,确认数据库状态为“ONLINE”。DBCC CHECKDB([数据库名称]) WITH NO_INFOMSGS, ALL_ERRORMSGS;,检测数据库是否有损坏。DBCC CHECKDB报错,可使用REPAIR_ALLOW_DATA_LOSS选项修复(谨慎使用,可能导致数据丢失):DBCC CHECKDB([数据库名称], REPAIR_ALLOW_DATA_LOSS);。ALTER INDEX ALL ON [表名] REBUILD;重建索引,执行UPDATE STATISTICS [表名];更新统计信息,提升查询性能。/var/opt/mssql/log/errorlog)定位问题。