MSSQL还原数据库报错无法打开物理文件 操作系统错误0(null)求助
WideWorldImporters还原报「无法打开物理文件,操作系统错误0 (null)」解决方案
该报错核心触发原因是SQL Server进程无法正常读取备份文件、或无法向目标数据存放路径写入文件,按以下顺序排查即可解决:
- 校验备份文件有效性
下载完成WideWorldImporters备份后,优先确认文件大小与发布页标注的大小一致,不存在下载截断、压缩包损坏问题。不要将备份文件存放在桌面、C盘根目录、含中文/特殊字符的路径下,建议新建纯英文路径(如C:\SQLBackups)单独存放备份文件。 - 配置目录访问权限
- 打开SQL Server配置管理器,找到目标实例对应的SQL Server服务,查看服务登录身份对应的账号名称
- 分别对备份文件存放目录、还原后数据库文件要存放的目录(可自定义,如
C:\SQLData,也可使用SQL Server默认的DATA目录)右键打开「属性-安全」选项卡,将上一步查到的SQL Server服务账号添加到权限列表,授予完全控制权限
- 手动指定路径执行T-SQL还原
不建议直接使用SSMS图形化界面的默认还原配置,提前创建好数据文件、日志文件的存放目录后,在新查询窗口执行如下命令,将命令内的路径替换为本地实际路径即可:RESTORE DATABASE WideWorldImporters FROM DISK = 'C:\SQLBackups\WideWorldImporters-Full.bak' WITH MOVE 'WWI_Primary' TO 'C:\SQLData\WideWorldImporters.mdf', MOVE 'WWI_Log' TO 'C:\SQLData\WideWorldImporters.ldf', MOVE 'WWI_UserData' TO 'C:\SQLData\WideWorldImporters_UserData.ndf', REPLACE, RECOVERY, STATS = 10 - 兼容性排查
WideWorldImporters示例库最低支持SQL Server 2016及以上版本,如果本地实例版本低于2016,会因为备份版本不兼容触发同类报错,需更换符合版本要求的实例后再执行还原。
内容的提问来源于stack exchange,提问作者nitinsingh9x
相关产品推荐
相关产品推荐

