热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLSERVER还原数据库时“试图扩大物理文件时,MODIFYFILE遇到操作系统错误112(磁盘空间不足)“错误处理

现象在备用机上还原数据库备份时报错MicrosoftSQL-DMO(ODBCSQLState:42000)试图扩大物理文件时,MODIF

现象
在备用机上还原数据库备份时报错

Microsoft SQL-DMO (ODBC SQLState: 42000) 试图扩大物理文件时,MODIFY FILE
遇到操作系统错误 112(磁盘空间不足)。 未能创建一个或多个文件。请考虑使用 WITH MOVE 选项来标识有效位置。 RESTORE
DATABASE 操作异常终止。

原因
但是磁盘空间明明很充足,经过分析,原因如下,备用机对于还原数据的分区文件系统为FAT32,FAT32不支持超过4GB的文件,而还原后的数据库文件已经6个G了。

处理
转换文件系统
针对磁盘空间充足、恢复后单个文件超过4GB、文件系统为FAT32的情况,可以把文件系统转换为NTFS

convert d: /fs:ntfs
1
改变备份还原的位置
你可以用下面的语句查询还原的数据库有多少个文件,这些文件有多大,还原后文件会放到那个磁盘上

restore filelistonly from disk=‘f:\20170113.bak’
1
如果你要把数据文件放到其他空间足够的磁盘上,使用 move 选项来改变还原后的文件位置,示例

restore database dbname from disk=‘f:\20170113.bak’
with move ‘逻辑文件名’ to ‘d:\DBnew.mdf’
–逻辑文件名可以用restore filelistonly 查询,d:\DBnew.mdf是逻辑文件名还原后的位置及文件名


推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有