在 “E:\db\Custom\201610211635.bak“ 上读取失败: 38(已到文件结尾。) (Microsoft SQL Server,错误: 3

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:42   1866   0

【问题】

还原SQL数据库,执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) 在 "C:\XX.bak" 上读取失败: 38(已到文件结尾。) (Microsoft SQL Server,错误: 3203)。

【分析】

可能是拷贝的文件有问题,通常在本机磁盘存在坏道的情况下存在。可能是物理磁盘的格式问题,或其文件逻辑不兼容问题。

【解决方法】

1. 输入命令cmd进入命令行,输入sqlcmd 回车.

2. 输入以下语句,回车

[sql] view plain copy

  1. RESTORE DATABASE 还原后的数据库名 FROM DISK = 'D:\db.bak(备份文件)' WITH REPLACE , MOVE 'Db(曾经的mdf逻辑名)' TO 'D:\Db.mdf(mdf还原后的路径)', MOVE 'Db_log(曾经的ldf逻辑名)' TO 'D:\Db_log.ldf(ldf还原后的路径)'

例如:

[sql] view plain copy

  1. RESTORE DATABASE xzcrm FROM DISK = 'E:\db\201610211600.bak' WITH REPLACE
  2. , MOVE 'xzcrm_Data' TO 'E:\db\Custom\xzcrm.mdf'
  3. , MOVE 'xzcrm_Log' TO 'E:\db\Custom\xzcrm_log.ldf'

3.再输入go 回车即可执行。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP