首页主机资讯CentOS SQL Server数据库恢复技巧

CentOS SQL Server数据库恢复技巧

时间2025-12-10 15:48:03发布访客分类主机资讯浏览1264
导读:CentOS 上 SQL Server 数据库恢复技巧 一 准备与环境检查 确认备份可用:至少准备一份可用的完整备份(.bak),如需时间点恢复,还需一系列事务日志备份(.trn)。将备份文件放到 SQL Server 可访问的目录,例如...

CentOS 上 SQL Server 数据库恢复技巧

一 准备与环境检查

  • 确认备份可用:至少准备一份可用的完整备份(.bak),如需时间点恢复,还需一系列事务日志备份(.trn)。将备份文件放到 SQL Server 可访问的目录,例如 /var/opt/mssql/backups,并确保权限正确(属主 mssql:mssql,权限 700)。
  • 安装客户端工具:在 CentOS 上安装 mssql-tools,便于用 sqlcmd 执行恢复命令。
  • 连接实例:使用命令连接本地实例(示例:sqlcmd -S localhost -U SA -P '< YourPassword> ')。
  • 恢复前检查:确认目标实例磁盘空间充足、目标数据库不存在或允许覆盖、备份文件完整可读。

二 标准恢复流程与常用命令

  • 完整恢复(最常见):
    RESTORE DATABASE [YourDB]
    FROM DISK = '/var/opt/mssql/backups/YourDB.bak'
    WITH RECOVERY, REPLACE;
        
    
  • 完整 + 差异 + 日志的时间点恢复:
    -- 1) 完整备份(NORECOVERY 以便后续还原)
    RESTORE DATABASE [YourDB]
    FROM DISK = '/var/opt/mssql/backups/YourDB.bak'
    WITH NORECOVERY;
        
    
    -- 2) 差异备份(如存在,NORECOVERY)
    RESTORE DATABASE [YourDB]
    FROM DISK = '/var/opt/mssql/backups/YourDB_Diff.bak'
    WITH NORECOVERY;
        
    
    -- 3) 事务日志(时间点或到末尾)
    RESTORE LOG [YourDB]
    FROM DISK = '/var/opt/mssql/backups/YourDB_Log.trn'
    WITH RECOVERY;
          -- 如需恢复到特定时间点:WITH STOPAT = '2025-12-09 10:00:00'
    
  • 覆盖现有同名库:在完整恢复语句中加入 WITH REPLACE
  • 还原到新库并改名(避免覆盖):在 WITH 子句中加入 MOVE 指定新文件路径,例如:
    RESTORE DATABASE [YourDB_New]
    FROM DISK = '/var/opt/mssql/backups/YourDB.bak'
    WITH MOVE 'YourDB_Data' TO '/var/opt/mssql/data/YourDB_New.mdf',
         MOVE 'YourDB_Log'  TO '/var/opt/mssql/data/YourDB_New.ldf',
         RECOVERY, REPLACE;
        
    
    提示:如需获取逻辑文件名,可在源库执行 RESTORE FILELISTONLY FROM DISK = '/path/YourDB.bak';

三 特殊场景与注意事项

  • 系统数据库恢复:如 master 等系统库异常,通常需要从模板重建实例、还原系统库备份,并校正文件路径;该过程风险高,建议由有经验的 DBA 在维护窗口操作。
  • 无备份或备份损坏:可尝试第三方工具(如 SysTools SQL RecoveryRecovery for SQL Server),但成功率取决于损坏程度,务必先对原介质做只读镜像。
  • 权限与路径:确保运行 SQL Server 的 mssql 用户对备份与数据目录具备读写权限;还原到新路径时,提前创建目录并赋权。
  • 恢复模式:如需做时间点恢复,数据库应处于 FULL 恢复模式,并定期执行日志备份。

四 恢复后验证与常见排错

  • 完整性校验:执行 DBCC CHECKDB ([YourDB]) WITH NO_INFOMSGS, ALL_ERRORMSGS; 检查对象与分配页一致性。
  • 统计信息与索引:更新统计信息、重建/重组索引,确保查询性能恢复。
  • 基本连通与数据核验:连接应用或执行抽样查询,核对关键表行数与关键业务数据。
  • 日志与错误:若还原失败,优先查看 SQL Server 错误日志(默认路径 /var/opt/mssql/log/errorlog)与 sqlcmd 输出,定位是权限、路径、空间还是备份集问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS SQL Server数据库恢复技巧
本文地址: https://pptw.com/jishu/768366.html
在Linux中如何分析反汇编代码 如何通过反汇编指令调试Linux程序

游客 回复需填写必要信息