首页主机资讯SQL Server在Debian上的数据库恢复步骤是什么

SQL Server在Debian上的数据库恢复步骤是什么

时间2025-10-31 21:33:04发布访客分类主机资讯浏览673
导读:1. 准备工作 确认环境:确保Debian系统上已安装SQL Server(官方支持版本如SQL Server 2019+),并通过systemctl status mssql-server验证服务处于运行状态。 获取备份文件:确保拥有完...

1. 准备工作

  • 确认环境:确保Debian系统上已安装SQL Server(官方支持版本如SQL Server 2019+),并通过systemctl status mssql-server验证服务处于运行状态。
  • 获取备份文件:确保拥有完整的数据库备份文件(.bak格式),若需时间点恢复还需准备事务日志备份(.trn格式)。备份文件可存储在本地目录(如/var/opt/mssql/backup)或网络共享路径(需SQL Server实例有访问权限)。
  • 安装工具:安装sqlcmd命令行工具(SQL Server自带,可通过apt-get install mssql-tools获取),用于执行T-SQL恢复命令。

2. 使用sqlcmd命令行恢复(推荐)

  • 基本语法:通过RESTORE DATABASE命令指定备份文件路径、数据库名称及文件移动选项(避免路径冲突)。

    RESTORE DATABASE [目标数据库名] 
    FROM DISK = '/path/to/backupfile.bak' 
    WITH REPLACE, RECOVERY, 
    MOVE '逻辑数据文件名' TO '/var/opt/mssql/data/目标数据库名.mdf', 
    MOVE '逻辑日志文件名' TO '/var/opt/mssql/data/目标数据库名.ldf';
        
    
    • 参数说明
      • REPLACE:覆盖现有同名数据库(若目标数据库已存在)。
      • RECOVERY:将数据库恢复至可用状态(若需应用后续日志备份,可先用NORECOVERY)。
      • MOVE:将备份中的逻辑文件(如YourDB_DataYourDB_Log)映射到Debian系统的物理路径(需提前创建/var/opt/mssql/data目录并赋予权限:chown -R mssql:mssql /var/opt/mssql/data)。
  • 示例(带事务日志恢复):若备份包含完整备份+事务日志,需按顺序恢复以实现时间点恢复:

    -- 1. 恢复完整备份(不恢复至可用状态)
    RESTORE DATABASE [SalesDB] 
    FROM DISK = '/var/opt/mssql/backup/SalesDB_Full.bak' 
    WITH NORECOVERY, 
    MOVE 'SalesDB_Data' TO '/var/opt/mssql/data/SalesDB.mdf', 
    MOVE 'SalesDB_Log' TO '/var/opt/mssql/data/SalesDB.ldf';
        
    
    -- 2. 恢复事务日志备份(恢复至指定时间点,如2025-10-30 15:00:00)
    RESTORE LOG [SalesDB] 
    FROM DISK = '/var/opt/mssql/backup/SalesDB_Log.trn' 
    WITH STOPAT = '2025-10-30 15:00:00', RECOVERY;
        
    

3. 使用SQL Server Management Studio (SSMS)恢复(图形界面)

  • 连接实例:打开SSMS,输入Debian系统的SQL Server实例地址(如localhost)、身份验证方式(建议使用SA账户,密码需提前配置),点击“连接”。
  • 启动恢复向导:右键点击“数据库”节点,选择“还原数据库”。
  • 配置恢复选项
    • 来源选择:在“常规”页签,选择“设备”→点击“添加”,浏览至备份文件(.bak)。
    • 数据库设置:输入目标数据库名称(如SalesDB),勾选“覆盖现有数据库”。
    • 文件映射:在“文件”页签,检查“将数据库文件还原为”列表,确保逻辑文件名映射到Debian系统的有效路径(如/var/opt/mssql/data/目标数据库名.mdf)。
  • 执行恢复:点击“确定”,等待恢复过程完成(进度条显示100%即成功)。

4. 故障排查

  • 权限问题:若出现“访问被拒绝”错误,需确认备份文件路径对mssql用户可读(chmod 644 /path/to/backupfile.bak),且数据目录权限正确(chown -R mssql:mssql /var/opt/mssql/data)。
  • 路径冲突:若备份文件中的逻辑路径(如C:\Data\YourDB.mdf)在Debian上不存在,必须通过MOVE选项映射到有效路径,否则恢复失败。
  • 恢复模式检查:若需时间点恢复,需确保数据库处于“完整恢复模式”(通过ALTER DATABASE [数据库名] SET RECOVERY FULL; 设置),否则无法应用事务日志备份。

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


若转载请注明出处: SQL Server在Debian上的数据库恢复步骤是什么
本文地址: https://pptw.com/jishu/740360.html
Debian系统SQL Server故障排查技巧有哪些 ubuntu环境下如何进行thinkphp的代码调试

游客 回复需填写必要信息