sqlserver错误"试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足。)。"处理

时间:2021-03-26 08:57:13

正常还原的时候报错:

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

---------------------------------------------------------------------------------------------------------------------

解决方法:
如果你还原后的数据库文件所在的磁盘空间不足
你可以用下面的语句查询还原的数据库有多少个文件,这些文件有多大,还原后文件会放到那个磁盘上
restore filelistonly from disk='c:\备份文件名.bak'
如果你要把数据文件放到其他空间足够的磁盘上,使用 move 选项来改变还原后的文件位置,示例
restore database 库名 from disk='c:\备份文件名.bak'
with move '逻辑文件名' to 'c:\aa.mdf'  --逻辑文件名可以用restore filelistonly 查询,c:\aa.mdf是逻辑文件名还原后的位置及文件名
如果你确定你的磁盘空间足够,则可能是分区格式的问题,对于FAT32/16的分区格式,它们支持的最大文件大小为4G/2G,你可以把分区格式转换为NTFS来解决