You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行SQL恢复备份语句时出错:RMHStore数据库恢复失败

解决SQL Server数据库恢复报错(Msg 1834/3156)的方案

问题根源

你备份的原数据库是RMHStore,但恢复语句中WITH MOVE参数使用的是新数据库名称作为逻辑文件名,而备份文件实际存储的逻辑文件名是原库的RMHSTORE和RMHSTORE_log。SQL Server无法匹配到指定的逻辑文件时,会默认尝试将备份恢复到原数据库的物理路径,但原数据库RMHStore正在运行,占用了这些文件,因此触发报错。

解决步骤

  • 第一步:确认备份文件中的逻辑文件名
    执行以下SQL语句,查看备份文件包含的所有数据/日志文件的逻辑名:

    RESTORE FILELISTONLY 
    FROM DISK = 'C:\ProgramData\RetailHero\DIAGTEST08TK5.bak';
    

    结果中的LogicalName字段会显示备份内的实际逻辑文件名(应为RMHSTORE和RMHSTORE_log)。

  • 第二步:修改恢复语句,使用正确的逻辑名
    将WITH MOVE中的逻辑名替换为备份文件实际的名称,物理路径保持指向新库的文件路径:

    RESTORE DATABASE DIAGTestDiagnostics32416Jan202415723
    FROM DISK = 'C:\ProgramData\RetailHero\DIAGTEST08TK5.bak' 
    WITH MOVE 'RMHSTORE' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA\DIAGTestDiagnostics32416Jan202415723.mdf',
         MOVE 'RMHSTORE_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA\DIAGTestDiagnostics32416Jan202415723_log.ldf',
         RECOVERY, REPLACE, STATS = 10;
    
  • 第三步:验证权限(可选)
    确保SQL Server服务账户对目标路径C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA\有读写权限,避免因权限不足导致恢复失败。

内容的提问来源于stack exchange,提问作者Swati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:53:33